2013-07-05 51 views
8

問題:如何獲取當前視圖ViewPager FragmentStatePagerAdapter?Android:ViewPager FragmentStatePagerAdapter獲取當前視圖

  1. 我已經花了近24小時對此和各地搜索適合的解決方案。
  2. 獲取當前位置很簡單,我已經知道了。這是得到當前查看
  3. FragmentStatePagerAdapter是必需的,而不是PagerAdapter

    • This solution經由instantiateItem(View container, int position)建議setTagfindViewWithTag。這是爲PagerAdapter。
    • 然而在FragmentStatePagerAdapterinstantiateItem的ViewGroup PARAM 查看 PARAM:instantiateItem(**ViewGroup** container, int position)

所以我希望這不是不可能的,是嗎?請幫忙!

回答

4

您可以使用setTag訣竅與您正在返回的視圖instantiateItem方法。

在這裏,我使用了ViewPager和PagerAdapter,但我認爲這個想法也可能適用於您。

所以,當你實例化你的觀點(在PagerAdapter方法也instantiateItem(ViewGroup中的容器,INT位置)),你應該使用setTag到您的視圖。

像這樣:
view.setTag("view" + position);
return view;

所以,當你需要當前視圖,你應該這樣做:View view = (View) pager.findViewWithTag("view" + pager.getCurrentItem());,其中尋呼機是ViewPager,你可以得到由它傳遞參數從您的活動添加到您的適配器。

+0

對於遲到的回覆感謝,並感謝您的幫助。你是如何在'viewTroup()'中獲得'view'而param是'ViewGroup container'的? – jerrytouille

+0

對不起,以後的答覆。 其實我說的視圖是你在** instantiateItem **結尾返回的視圖。 –