2012-06-13 4 views
13

में जेस्चर को मेरी खराब अंग्रेजी के लिए खेद है।पेजरएडाप्टर/व्यूपेगर

मुझे PagerAdapter पर 0 Views के साथ काम कर रहा है। यह बढ़िया काम करता है। मैं सामान्य जेस्चर और बटनक्लिक के साथ दृश्यों के माध्यम से स्विच कर सकते हैं। लेकिन मैं इशारा अक्षम करना चाहता हूँ। क्या केवल बटनक्लिक के साथ दृश्यों को स्विच करना और इशारों को अक्षम करना संभव है?

यहाँ PagerAdapter है:

public class MyPagerAdapter extends PagerAdapter { 


     public int getCount() { 
      return 3; 
     } 

     public Object instantiateItem(View collection, int position) { 

      LayoutInflater inflater = (LayoutInflater) collection.getContext() 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

      int resId = 0; 
      switch (position) { 
      case 0: 
       resId = R.layout.back; 
       break; 
      case 1: 
       resId = R.layout.stock; 
       break; 
      case 2: 
       resId = R.layout.menu; 
       break; 
      } 

      View view = inflater.inflate(resId, null); 

      ((ViewPager) collection).addView(view, 0); 

      return view; 
     } 

     @Override 
     public void destroyItem(View arg0, int arg1, Object arg2) { 
      ((ViewPager) arg0).removeView((View) arg2); 

     } 

     @Override 
     public boolean isViewFromObject(View arg0, Object arg1) { 
      return arg0 == ((View) arg1); 

     } 

     @Override 
     public Parcelable saveState() { 
      return null; 
     } 
    } 

हल:

final View touchView = findViewById(R.id.remotePager); 
    touchView.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 

      return true; 
     } 
    }); 

उत्तर

9

अवहेलना onTouchListener() और कड़ी चोट पर पेजिंग निष्क्रिय करने के लिए अवास्तविक लौटाते।

public boolean onTouchEvent(android.view.MotionEvent ev) { 
     if (super.onTouchEvent(ev)) { 
      return false; 
     } 
} 
+3

धन्यवाद, यह इस तरह से हल: \t \t अंतिम दृश्य touchView = findViewById (R.id.remotePager); \t \t touchView.setOnTouchListener (नई View.OnTouchListener() { \t \t \t @Override \t \t \t सार्वजनिक बूलियन onTouch (v देखें, MotionEvent घटना) { \t \t \t \t वापसी सच; \t \t \t} \t \t}); – user1453317