如果已打开该片段,如何防止在导航抽屉中打开片段。例如,我首先在我的Nav
抽屉中有一个设置片段,如果点击它打开的那个片段,那么现在再次点击它不应该打开相同的片段两次,因为这会导致问题,同时回击按钮。
答案 0 :(得分:0)
您可以在当前打开的列表中维护片段的位置。例如,维护一个名为mSelectedPosition
的变量,该变量在onCreate()
中初始化为-1。然后,onItemClick()
中DrawerItemClickListener
中的代码可能类似于
if (position == mSelectedPosition) {
closeDrawer();
return;
}
mSelectedPosition = position;
// Continue your work here.
答案 1 :(得分:0)
可能你应该在onDrawerClosed()回调中更改新的Fragment。维护一个成员变量,如currentFragmentPosition。
public void onDrawerClosed(View view)
{
super.onDrawerClosed(view);
if(clickedPosition != currentFragmentPosition)
{
// change Fragment
}
currentFragmentPosition = clickedPosition;
}