Yo uso este código para reemplazar el fragmento con otro en 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, pero para Android 4.4.2 no funciona y para Android 4.1.2 está funcionando
Si uso este 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, pero para android 4.0.4 no funciona y para Android 4.1.2 está funcionando
¿¿Qué está mal??
Respuestas
0 para la respuesta № 1Aquí es cómo agregará o reemplazará un 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();
Y la importación:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;