2016-03-23 14 views
1

私のFragmentPagerAdapter実装を、フラグメントのリストをポケットベルのadpaterに送ることによって再利用可能にしようとしています。フラグメントのリストをFragmentPagerAdapterに送信

public Fragment getItem(int position) { 
Fragment fragment = mFragmentList.get(position); 
    if (fragment==null) 
    { 
     fragment=Fragment.instantiate(mContext,fragmentName????) 
    } 
} 

ページャアダプタはフラグメントマネージャを使用しないため、タグはそこに定義されていません。 解決策はXMLでfragmentsタグを指定することですが、私はフラグメントを動的に管理し続けたいと思います。 推測の答えは継承を適切に実装しています... 何か考えていますか?

答えて

1

Fragment.instantiate [ここ](http://developer.android.com/reference/android/app/Fragment.html#instantiate(android.content.Context、java.lang.String、android.os.Bundle)のドキュメントを参照すると、フラグメント名がフラグメントのタグと同じではないことがわかります。これはあなたのフラグメントのクラスの名前です。あなたのフラグメントのクラスがMyCustomFragmentであれば、あなたは次を使用して作成します。

Fragment.instantiate(mContext, MyCustomFragment.class.getName());

しかし、一般的にベストプラクティスは、フラグメントを作成するための静的newInstanceメソッドを使用することです。それはhereでもっと読むことができます。

関連する問題