簡體   English   中英

從主活動訪問ViewPager Fragment的public方法

[英]Access a ViewPager Fragment's public method from the main Activity

我有一個XML擁有一個主活動RelativeLayoutViewPager

<android.support.v4.view.ViewPager
    android:id="@+id/pager"

然后,我有一個FragmentStatePagerAdapter來管理Fragment

現在,我在Fragment上有一個名為getFoo()的公共方法(該方法顯然返回foo)。

問題:從主活動中獲取Fragmentfoo的正確方法是什么?

我嘗試在ViewPager上使用addOnPageChangeListener() ,但隨后無法獲取Fragment的活動實例。

您可以像擁有自己的ArrayAdapter一樣擴展FragmentStatePagerAdapter

在其中持有一個List<Fragment> (通過構造函數),然后只使用adapter.getItem(position).getFoo()

非常小的例子。

public MyFragmentStatePagerAdapter extends FragmentStatePagerAdapter {
    private List<Fragment> fragments;

    public MyFragmentStatePagerAdapter(FragmentManager fm, List<Fragment> fragments) {
        super(fm);
        this.fragments = fragments;
    }

    public int getCount() { return fragments.size(); }
    public Fragment getItem(int position) { return fragments.get(position); }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM