0

我有一個FragmentActivity與下面的XML:如何從FragmentActivity獲取包含片段事務的ViewPager的Fragment實例?

<?xml version="1.0" encoding="utf-8"?> 
    <android.support.v4.view.ViewPager 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

和視圖尋呼機類如下:

public class MyPagerAdapter extends FragmentStatePagerAdapter { 

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

    @Override 
    public Fragment getItem(int i) { 
    switch (i) { 
     case 0: 
      // profile fragment activity 
      Fragment f = new ProfileFragment(); 
      return new ProfileFragment(); 
     case 1: 
      // radar fragment activity 
      return new RadarFragment(); 
     case 2: 
      // matches fragment activity 
      return new MatchesFragment(); 
    } 

    return null; 
    } 

    @Override 
    public int getCount() { 
    return 3; 
    } 
} 

我也有一個BroadcastReceiver類,有我的自定義FragmentActivity的實例變量。通過這個實例變量,我想獲得上述任何片段。我知道有FragmentManager.findFragmentById()findFragmentByTag()方法,但我似乎無法找到在這種情況下使用的方法。

回答

1

由於您只有3頁(3段),我建議您使用FragmentPagerAdapter而不是FragmentStatePagerAdapter。然後,你可以使用findFragmentByTag找到你的片段 - 在This SO question.

相關問題