私のアプリでは、ナビゲーションドロワーの異なるアイテムがクリックされたときにフラグメントを切り替える必要があります。新しいメソッドDisplayFragmentを作成しました。コードは次のとおりです。
private void DisplayFragment(int position)
{
Fragment fragment = null;
switch (position){
case 0:
fragment = new Fragment1();
break;
case 1:
fragment = new Fragment2();
break;
case 2:
fragment = new Fragment3();
break;
case 3:
fragment = new Fragment4();
break;
if(fragment!= null)
this.getFragmentManager().beginTransaction().replace(R.id.frame_container,fragment()).commit();
}
android.support.v4.app.Fragmentが検出された「上記の行のフラグメント要素は次のとおりです」という誤った2番目の引数タイプのエラーが表示されます。必要なandroid.app.Fragment;」
android.support.v4.app.Fragmentからandroid.app.Fragmentにインポートを変更しようとしました。ただし、Fragment fragment = nullステートメントのエラーが表示されます。私は何が間違っていますか?
回答:
回答№1は0サポートフラグメントマネージャーを使用する必要があります android.support.v4.app.Fragment
.
this.getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, fragment).commit();
そう、 getSupportFragmentManager()
の代わりに getFragmentManager()
。また、使用する必要はありません this
この場合。