Android 重置导航视图滚动
这个简单的问题我自己都找不到答案,也弄不明白 如何使NavigationView在打开时始终在其“原始”滚动位置启动,从而使第一个菜单项始终可见,而不管之前滚动位置保留在何处 我尝试过这个,但没有成功:Android 重置导航视图滚动,android,drawerlayout,navigationview,Android,Drawerlayout,Navigationview,这个简单的问题我自己都找不到答案,也弄不明白 如何使NavigationView在打开时始终在其“原始”滚动位置启动,从而使第一个菜单项始终可见,而不管之前滚动位置保留在何处 我尝试过这个,但没有成功: drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() { ... @Override public void onDrawerClosed(View drawerView) {
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
...
@Override
public void onDrawerClosed(View drawerView) {
drawerView.scrollTo(0, 0);
}
...
});
谢谢。如果您想在用户选择抽屉中的某个项目时更新抽屉项目,请。然后 您应该在
onItemClick
中刷新listview的适配器。
调用notifydatasetchange()
以反映更改。
但是,如果您希望,如果用户选择了列表中的某个项目,则在进行选择后关闭抽屉时,您希望更新列表,对于这种情况,您需要
侦听抽屉关闭事件-
public void onDrawerClosed(View view) {
// refresh adapter and call notify data set change.
}
查看此链接:在检查了NavigationView小部件的视图层次结构之后,它由一个扩展了RecyclerView的NavigationMenuView组成,因此使用此链接,我提出了以下shenanigan:
((NavigationMenuView)((NavigationView)drawerView).getChildAt(0)).scrollToPosition(0);