2014-12-27 2 views
0

Я использую просмотр пейджера для просмотра прокрутки для Android-приложения. Я создаю просмотр пейджера динамически. Как добавить и удалить элемент. Теперь я хочу знать, как получить точное положение элементов пейджера. Например, у меня есть 3 элемента, я хочу получить позицию 3-го числа, когда я нахожусь в 2-м или 1-м пункте. Я использовал viewPager.getCurrentItem(), но он возвращается туда, где я. Пожалуйста, предложите мне, как дать персональные идентификаторы для каждого viewpager элементов и использовать его, когда элемент фона или на экране. Спасибо, пожалуйста, помогите мне об этом, я оставил 2 недели для этого. Заранее спасибоget currunt item from viewpager android

public TabsPageAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int i) { 
     return new MyWebBrowser(); 
    } 

    @Override 
    public int getItemPosition(Object object) { 
     return PagerAdapter.POSITION_NONE; 
    } 

    @Override 
    public int getCount() { 

     return COUNT_TAB; 
    } 

} 

Теперь этот код Под моим классом фрагмент из WebView chrom class я хочу, чтобы установить название в качестве названия сайта.

@Override 
     public void onReceivedTitle(WebView view, String title) { 
      TAB_TITLE=title; 

      Toast.makeText(HomeActivity.this,title,Toast.LENGTH_LONG).show(); 
      super.onReceivedTitle(view, title); 

     } 
+0

вы имеете в виду, что вы хотите получить доступ к страницам, которые в настоящее время невидимы видимого ?? –

+0

Да, я хочу эту страницу. Спасибо за повтор –

ответ

1

взглянуть на этот адаптер:

class MyAdapter extends FragmentStatePagerAdapter 
    { 
     private final SparseArray<WeakReference<YourFragment>> mPageReferences; 
     public MyAdapter(FragmentManager fm) { 
      super(fm); 
      mPageReferences = new SparseArray<WeakReference<YourFragment>>(); 

     } 

     @Override 
     public Fragment getItem(int i) { 

      WeakReference<YourFragment> fragment = 
        new WeakReference<YourFragment>(YourFragment.newInstance()); 
      mPageReferences.put(i, fragment); 
      return fragment.get(); 
     } 
     @Override 
     public void destroyItem(ViewGroup container, int position, Object object) { 

      super.destroyItem(container, position, object); 
      mPageReferences.remove(position); 
     } 
     @Override 
     public int getCount() { 
      return number of fragment; 
     } 

     public YourFragment getFragment(int key) {  
      return mPageReferences.get(key).get();    

     } 

     @Override 
     public Object instantiateItem(ViewGroup container, int position) { 
      WeakReference<YourFragment> fragment = new WeakReference<YourFragment>((YourFragment) super.instantiateItem(container, 
        position)); 
      mPageReferences.put(position, fragment); 
      return fragment.get(); 
     } 
    } 

вы можете легко получить ссылку на любых страницах с mPageReferences но будьте осторожны, потому что это может быть пустым, так как вполне возможно, что она не создается вы это называете. вы можете использовать (getFragment(int key), чтобы получить товар в позиции key)

0

Вы можете узнать текущее положение от PagerAdapter. по телефону pageAdapter.getItemPosition(itemNumber)

link to the documentation

+0

Пожалуйста, снова прочитайте вопрос, спасибо за повтор –