【问题标题】:Focus 1st item of a menu in NavigationView在 NavigationView 中聚焦菜单的第一项
【发布时间】:2019-11-01 10:53:36
【问题描述】:

我有一个由menu 中的项目组成的 NavigationView。 菜单中有很多项目,所以列表是可滚动的。

在我的标题中,我有一些图片,当我按下按钮时,它会使用 navigationView.getMenu().setGroupVisible(R.id.specific_item, false); 过滤列表中的项目

这部分运行良好,但是当我按下按钮时,我想专注于菜单的第一项(就像您滚动菜单以查找特定内容并且您在字母“M”处,按下后按钮,菜单回到字母“A”)。

我知道对于 listView 我们可以使用.setSelection(0) 来执行此操作,但是对于菜单,我不知道该使用什么。 是否有类似的命令或技巧来执行类似的行为?

感谢您的帮助。

【问题讨论】:

  • NavigationView 类允许您通过setCheckedItem 方法指定选中的菜单项:developer.android.com/reference/com/google/android/material/…(假设您正在寻找一种方法来设置当前选中的菜单项)
  • 感谢您的帮助,但它不起作用。 setCheckedItem 突出显示第一项,但它不会为用户关注该项。我仍然需要手动滚动,直到我回到第一项。

标签: android menu items


【解决方案1】:

使用下面的代码

navigationView.getMenu().getItem(0).setChecked(true);

【讨论】:

  • 感谢您的帮助,但它不起作用。 setCheckedItem 突出显示第一项,但它不会为用户关注该项。我仍然需要手动滚动,直到我回到第一项。
  • 您可以通过调用 onNavigationItemSelected(navigationView.getMenu().getItem(0)) 来选择(突出显示)该项目;
  • 是的,但这不是所要求的行为。没有必要强调任何东西。我正在尝试自动滚动到菜单的第一项。使用getItem(0) 时,项目刚刚被选中,但如果用户在列表中的“M”字母中,则屏幕不会移动到“A”字母上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-09
  • 2018-12-16
  • 2018-09-19
相关资源
最近更新 更多