如果已打开该片段,如何防止在导航抽屉中打开片段

时间:2016-05-04 02:46:22

标签: java android navigation-drawer

如果已打开该片段,如何防止在导航抽屉中打开片段。例如,我首先在我的Nav抽屉中有一个设置片段,如果点击它打开的那个片段,那么现在再次点击它不应该打开相同的片段两次,因为这会导致问题,同时回击按钮。

2 个答案:

答案 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;
}