我自己无法找到答案或弄清楚的简单问题。
如果NavigationView打开时,我怎么能始终在其“原始”滚动位置上启动,因此无论先前滚动位置的位置如何,第一个菜单项始终可见。
我试过这个没有成功:
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
...
@Override
public void onDrawerClosed(View drawerView) {
drawerView.scrollTo(0, 0);
}
...
});
感谢。
答案 0 :(得分:4)
在检查了NavigationView小部件的View层次结构之后,它由一个扩展了RecyclerView的NavigationMenuView组成,所以使用这个我已经想出了这个shenanigan:
((NavigationMenuView)((NavigationView)drawerView).getChildAt(0)).scrollToPosition(0);
答案 1 :(得分:0)
如果要在用户选择抽屉中的某个项目时更新抽屉项目。然后
您应该为onItemClick
中的列表视图刷新适配器。
致电notifydatasetchange()
以反映变化。
但是,如果你想要如果用户在列表中选择了某个项目,那么在选择后关闭抽屉时,你想要更新列表,对于这种情况你
听取关闭抽屉事件 -
public void onDrawerClosed(View view) {
// refresh adapter and call notify data set change.
}
请参阅此链接:https://developer.android.com/training/implementing-navigation/nav-drawer.html