【发布时间】:2012-02-01 07:02:37
【问题描述】:
在我的应用程序中,我有一个活动,我在运行时添加了两个片段。我需要同时交换这两个片段。片段 1 包含一个按钮,当我单击该按钮时,我想要片段 1 移动到屏幕的右侧,而其他片段移动到活动的左侧。
在按钮的 onClick 方法中,我尝试了类似的方法
@Override
public void onClick(View v) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
Fragment newFragment = getFragmentManager().findFragmentById(R.id.pageA);
ft.remove(newFragment);
Fragment newFragmentB = getFragmentManager().findFragmentById(R.id.pageB);
ft.remove(newFragmentB);
ft.add(R.id.pageB, newFragment);
ft.add(R.id.pageA, newFragmentB);
ft.addToBackStack(null);
ft.commit();
}
但我收到以下错误
java.lang.IllegalStateException: Can't change container ID of fragment PageA{40653da0 #0 id=0x7f060001}: was 2131099649 now 2131099650
当我单击页面 A 上的按钮时,我想要这样的东西,然后页面 A 和页面 B 的位置应该相互交换。
【问题讨论】:
标签: android