/ フラグメントを置き換え&アンドロイドのフラグメントを追加する - アンドロイド、フラグメント

フラグメントを置き換え、アンドロイドのフラグメントを追加する - アンドロイド、フラグメント

このコードを使用して、フラグメントを別のフラグメントに置き換えます アンドロイド4.0.4

FragmentManager manager;
manager=getFragmentManager();
FragmentTransaction transaction=manager.beginTransaction();
Fragment1 f1=new Fragment1();
Fragment2 f2=new Fragment2();
public void replace_one(View v)
{
Fragment1 f1=(Fragment1)manager.findFragmentByTag("f1");
transaction.remove(f1);
transaction.replace(R.id.place,f2,"f2");
transaction.commit();
}

このコードは動作しますが、 アンドロイド4.4.2が動作しません android 4.1.2のために働いています

私はこのコードを使用する場合:

   FragmentManager manager;
manager=getFragmentManager();
FragmentTransaction transaction=manager.beginTransaction();
Fragment1 f1=new Fragment1();
Fragment2 f2=new Fragment2();
public void replace_one(View v)
{
Fragment1 f1=(Fragment1)manager.findFragmentByTag("f1");
transaction.remove(f1);
transaction.add(R.id.place,f2,"f2");
transaction.commit();
}

このコード アンドロイド4.4.2で動作しますしかし、アンドロイドのために 4.0.4が動作しない android 4.1.2のために働いています

なにが問題ですか??

回答:

回答№1は0

ここでは、フラグメントを追加または置換する方法を示します。

   //TO add your fragment
SomeFragment fragment = SomeFragment.getInstance()//If you have made your fragment singleton.
getFragmentManager().beginTransaction().add(YOUR_CONTAINER_ID, YOUR FRAGMENT, YOUR_FRAGMENT_UNIQUE_TAG).addToBackStack(null).commit();

//TO replace your fragment
SomeFragment fragment = SomeFragment.getInstance()//If you have made your fragment singleton.
getFragmentManager().beginTransaction().replace(YOUR_CONTAINER_ID, YOUR FRAGMENT, YOUR_FRAGMENT_UNIQUE_TAG).addToBackStack(null).commit();

輸入:

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;