/ / substituir fragmento e adicionar fragmento no android - android, fragmento

substituir fragmento & adicionar fragmento no android - android, fragmento

Eu uso este código para substituir o fragmento por outro em android 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();
}

este código funciona, mas para android 4.4.2 não funciona e para android 4.1.2 está funcionando

se eu usar esse código:

   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();
}

este código funciona para Android 4.4.2, mas para android 4.0.4 não funciona e para android 4.1.2 está funcionando

O que está errado??

Respostas:

0 para resposta № 1

Veja como você adicionará ou substituirá um fragmento:

   //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();

E importar:

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