2017-05-02 12 views
-1

Fragmentを1行に作成できますか?その目的のためにサブクラスを作成する必要がありますか?フラグメントを作成する:1行のメソッド


標準的な方法:

List<Fragment> fragments = new Vector<Fragment>(); 
fragments.add(/*create a new Fragment here!*/); 
+3

'fragments.add(新しいMyFragment(/ *コンストラクタ* /)を介して初期化を行った)); –

+0

[FragmentPagerAdapter](https://developer.android.com/reference/android/)のドキュメントを見てください。 support/v13/app/FragmentPagerAdapter.html)を使用してください。 –

答えて

2

標準的な方法

List<Fragment> fragments = new Vector<Fragment>(); 
fragments.add(Fragment.instantiate(this, Tab1Fragment.class.getName())); 

@SuppressLint("ValidFragment") 
class TabFragment extends Fragment { 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.tab_fragment, container, false); 
    } 
} 

私が探しています何がそのような気にいらないです

これは「標準的な方法」ではありません。 Vectorはもう使用されず、通常はコンストラクタを使用してフラグメントインスタンスを作成するか、独自のファクトリメソッドを使用します。私が探しています何

は、あなたが最初の例では持っているものであること

などの気にいらないです。

実際に「Fragment.instantiate()を使用する必要がありますか?」と尋ねる場合、答えは「いいえ、あなたはnew Tab1Fragment()を使用できます」です。

実際に「FragmentのサブクラスとしてTab1Fragmentを作成する必要がありますか?」と質問している場合、答えは「はい」です。

+1

_「FragmentのサブクラスとしてTab1Fragmentを作成する必要はありますか?」答えは「はい」です。 –

関連する問題