【发布时间】:2015-03-25 10:50:57
【问题描述】:
我在 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();
}
此代码有效,但对于 android 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();
}
此代码适用于 android 4.4.2,但适用于 android 4.0.4 不起作用,适用于 android 4.1.2工作
怎么了??
【问题讨论】:
-
它在 logcat 中。
-
什么是工作?您的预期行为是什么?您收到的行为是什么?
-
我的意思是:fragment1 隐藏和 fragment2 显示
-
我使用了 import android.app.Fragment
-
我读到了这个声明:如果你想让你的应用使用 Fragment,并且想要针对 API 11 之前的设备,你必须使用 android.support.v4.app.Fragment。但是,如果您只针对运行 API 11 或更高版本的设备,则可以使用 android.app.Fragment。