【问题标题】:Android Navigation Drawer Remains HighlightedAndroid 导航抽屉仍然突出显示
【发布时间】:2017-01-15 10:34:48
【问题描述】:

我可以通过导航抽屉从 Activity1 导航到 Activity2。

但是在activity2按下后退按钮时,该选项仍然突出显示。

我在activity1中的代码如下

public boolean onNavigationItemSelected(MenuItem Item)
{
    int id = item.getItemId();

    if(id == R.id.activity2)
    {
        Intent goPage2 = new Intent(activity1.this, activity2.class);
        startActivity(goPage2);
    }
}

活动 2 中没有代码。

我可以知道如何删除突出显示吗?

【问题讨论】:

  • 选项保持突出显示是什么意思。 ?
  • 这是我在网上找到的与我的情况相符的图片。
  • 查看我现在发布的答案,

标签: android android-navigation android-drawer


【解决方案1】:

我发现如果你不需要使用高亮功能,只需在 onNavigationItemSelected 的末尾返回 false。

       } else if (id == R.id.nav_share) {

    } else if (id == R.id.nav_send) {

    }

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return false;
}

【讨论】:

  • 这必须是公认的答案。实际接受的根本不会取消突出显示。
【解决方案2】:

要取消选中项目点击,您必须在选中的项目上传递false

public boolean onNavigationItemSelected(MenuItem Item) //will consider to keep this in lower case - item
{
int id = item.getItemId();

 if(id == R.id.activity2)
 {
    Intent goPage2 = new Intent(activity1.this, activity2.class);
    startActivity(goPage2);
    Item.setChecked(false);  //pass false to uncheck
 }
}

【讨论】:

  • 谢谢,我已经阅读了这么多复杂的解决方案,但我不知道我的解决方案如此简单。谢谢!!
  • 帅哥,还有一件事将MenuItem Item 上的Item 更改为item
  • 注意了,我改一下,“item”是android studio自己生成的,现在改一下!
【解决方案3】:

当然它将保持突出显示(“选择”更专业),因为当您从 Navigation Drawer 中选择一个项目时,下一个活动被创建并且Navigation Drawer 所在的活动被暂停和停止而不是被破坏(onPause()然后onStop() 被调用)并保留在内存中,直到您的设备有足够的内存。因此,进入下一个活动不会消耗太多内存来强制 android 销毁以前的活动。您可以做的是完全销毁您的 Navigation Drawer 活动,或者您可以手动取消选中 Navigation Drawer 中的所有项目,方法是在第一个活动的 onRestart() 方法中为所有项目编写此代码。

menuItem1.setChecked(false);
menuItem2.setChecked(false);
menuItem3.setChecked(false);
menuItem4.setChecked(false);

等等。

【讨论】:

    【解决方案4】:

    使用menuItem.setChecked(true) 应该选中它并使用menuItem.setChecked(false) 取消选中它。

    【讨论】:

      猜你喜欢
      • 2015-01-26
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-04
      相关资源
      最近更新 更多