2011-12-16 14 views
22

मिल मैं अपने PagerAdapterएंड्रॉयड PagerAdapter, वर्तमान स्थिति

मैं getPosition() की तरह एक स्पष्ट समारोह नहीं देखा और मैं एक चाहते के दृश्य देखने की वर्तमान स्थिति प्राप्त करना चाहते हैं।

मैं उस स्थिति में अपने ArrayList में एक वस्तु जोड़ना चाहते हैं, लेकिन मुझे पता है कि यह पहली बार

उत्तर

39

आप का प्रयोग करेंगे की जरूरत है:

int position = mViewPager.getCurrentItem() 
+1

मैं संगतता पैक का उपयोग कर रहा हूं, और यह पेजर एडाप्टर को बढ़ाता है, या तो कोई getCurrentItem विधि नहीं है। मैं एक कैसे बना सकता हूँ? http://pastebin.com/LabjNvqL – CQM

+0

नहीं, पृष्ठ केवल 0 पर शुरू होने पर ही शुरू होता है, पृष्ठ 0 नहीं होने पर इसे कहीं और उपयोग करें और यह उस पृष्ठ संख्या –

+0

@CQM को वापस कर देगा, आप एक VIewPager का उपयोग कर रहे हैं और आप उस कक्षा में एडाप्टर सेट कर रहे हैं, मुझे वह कक्षा दिखाएं जहां आपके पास –

3

https://github.com/Shereef/ViewPagerPlusExpandableList/blob/master/src/net/shereef/vewpagerplusexpandablelistexample/ViewPagerPlusExpandableListActivity.java#L204

अगर मैं उस लाइन के बाद लिखना

Log.i("pager",myPager.getCurrentItem()+""); 

यह लॉकैट में वर्तमान आइटम पेज में दिखाएगा जबकि ओ नाटक चल रहा है जो हमेशा 0

नोटिस मैंने ऑब्जेक्ट का उपयोग ऑब्जेक्टर के लिए ऑब्जेक्ट का उपयोग नहीं किया है।

+0

क्या आप मुझे बता रहे हैं कि यह हमेशा 0 देता है? मुझे समझ में नहीं आ रहा है, क्या यह आपको एक सटीक स्थिति बताएगा? – CQM

+0

ठीक है, अब वहां है। मुझे अपने संगतता पैक = \ को अपडेट करना था जो कि बहुत ही निराशाजनक प्राप्ति थी – CQM

+0

कृपया जोना का जवाब सही के रूप में चुनें, क्योंकि उसने पहले शुभकामनाएं –

23

मुझे यह समस्या थी और getCurrentItem() मेथोड नहीं मिला।

मुझे ViewPager से स्थिति प्राप्त हो गई और PageAdapter से नहीं। onPageSelected(int currentPage) मेथोड वर्तमान में प्रदर्शित पृष्ठ प्राप्त कर रहा है।

//custom PageAdapter implementation 
mAdapter = new AwesomePagerAdapter(); 

//Our custom view pager that extends from ViewPager 
mPager = (CustomViewPager) findViewById(R.id.preview_gallery); 

mPager.setAdapter(mAdapter); 

// get the item that we should be showing from the intent 
mCurrentPage = extra.getInt("currentIndex"); 

// show the item the user picked 
mPager.setCurrentItem(mCurrentPage); 

// listen for page changes so we can track the current index 
mPager.setOnPageChangeListener(new OnPageChangeListener() { 

    public void onPageScrollStateChanged(int arg0) { 
    } 

    public void onPageScrolled(int arg0, float arg1, int arg2) { 
    } 

    public void onPageSelected(int currentPage) { 
     //currentPage is the position that is currently displayed. 
    } 

}); 

PageAdaper में यह कर मेरे लिए काम नहीं किया, जैसा कि मैंने छवियों कि दिखाई नहीं देते हैं प्रीलोड करना चाहते हैं। पेज एडाप्टर के instantiateItem(View collection, int position) को पारित करने वाली स्थिति प्रारंभिक आइटम की स्थिति है। प्रदर्शित होने वाली वस्तु के साथ इसका कोई लेना-देना नहीं है।

+0

का उत्तर दिया था, यह केवल यही काम है। getCurrentItem() अविश्वसनीय है। – Avijit

+0

मेरे लिए बहुत अच्छा काम करता है, धन्यवाद – MBH

संबंधित मुद्दे