我有一个活动
,它创建一个片段
,然后这个片段
创建另一个片段
:
getActivity().getSupportFragmentManager().beginTransaction().remove(fragment2.this).commit();
这让我想到活动
。是否真的可以删除fragment2
并转到fragment1
?
提前感谢您的时间,我在网上找不到任何合适的信息!
@Ahmedabidi对您的问题有很好的洞察力,是的,正确地实现popbackstack
可以解决您的问题。但无论如何,我想建议一种不同的方法来处理这类情况。
在活动
中编写两个公共函数,以便在片段之间切换。
public void switchToFragment1() {
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, new Fragment1()).commit();
}
public void switchToFragment2() {
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, new Fragment2()).commit();
}
现在,从单击fragment1
的按钮,您可以通过以下方式启动fragment2
,
((YourActivity) getActivity()).switchToFragment2();
切换到fragment1
时也是如此
((YourActivity) getActivity()).switchToFragment1();
如何从堆栈中弹出特定片段,并从片段中删除其他片段?例如,这些是我的片段,我现在在E right know。 A- 想从E回到B,清除C和D。我怎么能做到这一点?
当我创建时,我需要从另一个活动中删除一个片段,而不是创建它的活动: 然后我可以从片段中访问另一个活动,假设片段中有一个按钮可以打开另一个活动,现在,停留在该活动中我想删除启动该活动的片段,我得到该片段的参考号通过意图。所以我尝试: 但它给了我一个nullPointerException, 03-07 22:42:33.270 30993-30993/河马。rggmiranda。hiposleep
在我的应用程序中,我使用了一个活动和四个片段。在这个应用程序中,我使用了导航组件。我的片段加载顺序是A- 在设备背面的碎片D中,按下按钮,我想从背面移除碎片C,以便碎片B可以打开。有人建议我怎么做吗提前谢谢 这是我的导航图。xml
//使用startActivity(intent)也不起作用//无论我做什么,应用程序都会崩溃
我正在尝试编写一个从activity到片段的数据传输,但我正在捕捉“NullPointerException”代码MainActivity: 代码片段: 我知道对空值的保护,但问题是,我确信传递了值,而null不在那里
如何在CardView中打开onClick中的片段?我在Cardview中有一个列表,当我单击时希望在另一个片段中显示。这是adapter.class 这是layout.xml 我解决了onClick的问题,现在我的问题是我不能打开另一个片段。如何在myActive中调用我的方法?