2016-12-20 5 views
0

私のアプリケーションでは、12個のタブを持つタブコントロールがあります。各タブには同じフラグメントがありますが、内容は各タブで異なります。フラグメントにはイメージコントロールとTextViewがあります。 タブインデックスに基づいて異なるフラグメントコンテンツ(イメージとテキスト)をどのように割り当てることができますか。私は12の画像とテキストをすべてリソースファイルに保存しています。あなたが1つのレイアウトで一つの断片を使用することができ、事前にアンドロイドアプリのタブインデックスに基づいてフラグメントコンテンツを更新する

おかげで、 IamHuM

+0

あなたが使用しているタブコントローラ? – Nithinlal

+0

私は 'android.support.design.widget.TabLayout'コントロールを自分のアクティビティ内で使用しています。 – IamHuM

答えて

0

。 そしてonCreateViewでデータを入力します。

ヒント: データを渡すカスタムメソッドでフラグメントを作成します。あなたのFragmentStatePagerAdapter(または任意のアダプタ)で

MyFragment.newInstance(imageUrl, title) 
0

新しいフラグメントを作成し、それらを区別するために、コンストラクタを使用することができます。どのようなコンストラクタを使用してについての素晴らしいのは、あなたがちょうどインデックス番号でそれらを設定するに限定されるものではないということです。

public class MyPagerAdapter extends FragmentStatePagerAdapter { 
    private static int PAGES = 3; 
    private Fragment[] mFragments; 


    public MyPagerAdapter(FragmentManager fm) { 
     super(fm); 
     mFragments = new Fragment[PAGES]; 
     mFragments[0] = new MyFragment(0); 
     mFragments[1] = new MyFragment(1); 
     mFragments[2] = new MyFragment(2); 
    } 


    @Override 
    public Fragment getItem(int position) { 
     return mFragments[position]; 
    } 

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

そしてあなたのフラグメント:

public class MyFragment extends Fragment { 
    private int mData; 

    public MyFragment(int data) { 
     mData = data; 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     ViewGroup rootView = (ViewGroup) inflater.inflate(
       R.layout.fragment_layout, container, false); 

     return rootView; 
    } 
} 

マイ参照:https://developer.android.com/training/implementing-navigation/lateral.html

関連する問題