我得到了下一个FragmentActivity。这个FragmentActivity用一个LinearLayout(一个菜单,其中一些按钮被定义为调用其他片段)和一个FrameLayout(一个黑色空间,根据我选择的按钮加载其他片段)来扩充布局。
public class MenuViewActivity extends FragmentActivity {
....
我使用onClickListener加载选定的片段:
protected void onCreate(Bundle savedInstanceState) {
....
final OnClickListener fragment_1 = new OnClickListener() {
@Override
public void onClick(View v) {
fragment_1 Fragment = new fragment_1();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, Fragment);
transaction.addToBackStack(null);
transaction.commit();
}
};
我为大约5个按钮执行此操作。此菜单还包含自定义后退键。这个后退按钮的功能应该是:
[fragment_1][fragmen_2][fragment_3][fragment_4][fragment_5]
应用程序启动时始终显示fragment_1。我决定从fragment_1转到任何其他片段。所以我可以从[fragment_1]到[fragment_4]进行示例。按后退键时,我应该返回[fragment_1]。
为了详细说明功能,我可以做:[fragment_1] - > [fragment_2] - > [fragment_3],当按回时,应该返回[fragment_1]。
我的后退键有一个onClickListener,但我不知道如何实现这个功能。
答案 0 :(得分:0)
你正在寻找这个
getSupportFragmentManager().popBackStack();
如果你不知道这是实际的android后退按钮的默认功能,那么除非你已经覆盖它,否则会做同样的事情。
答案 1 :(得分:0)
除非你找到你想要的那个,否则你只需要从你的背包中弹出所有碎片。使用FragmentManager的popBackStack():
可能是最简单的public abstract void popBackStack(int id,int flags)
将所有后备堆栈状态弹出到具有给定标识符
的状态