因为我必须为我的应用程序做一个自定义菜单,所以我创建了一个片段,它在我的应用程序底部就像一个操作栏一样起作用!framelayout如何获取内容?
但我与堆栈有冲突(按下后退按钮时)。
我应该如何编程以下方法?
public void changerContenu(int frameLayout, Fragment frag, boolean ajouterAuStack)
{
if(R.id.frameContent != frag.getId())
// * if the current displaying
// fragment in the layout is the same as the one that I received in param#2 (frag),
// then don't do anything.
{
ft = fragmentManager.beginTransaction();
ft.replace(frameLayout, frag);
if(ajouterAuStack)
ft.addToBackStack(null);
ft.commit();
}
}
我知道我的“如果”没有任何意义,现在,试图找出如何来预期的结果:(现在,当我访问片段一次(和它推入堆栈)我不能在我的“自制操作栏”中使用我的按钮重新访问它,直到我按下后退按钮几次来清理堆栈。
我只想在我的堆栈中不重复项目,如果单击几次我的菜单上的相同按钮...
谢谢你们!
我曾用一个动作条,但我的工作,公司希望有一个特别的设计,我不能用一个动作条来代表它。所以我将它设计成一个片段,就像一个“标签菜单”。 我有两个frameLayers,一个用我的菜单(比方说A),另一个用于显示我的内容(B)。 如果我在frameLayer A的菜单片段中点击10次我的按钮之一,它会执行我在第一篇文章中显示的代码的10倍。我不希望这样,因为它会在后台堆栈中添加10x片段,并且我必须点击“返回”10次才能离开这个片段。 希望它有帮助! – Shinnyx 2013-03-12 14:27:30