Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 重置导航视图滚动_Android_Drawerlayout_Navigationview - Fatal编程技术网

Android 重置导航视图滚动

Android 重置导航视图滚动,android,drawerlayout,navigationview,Android,Drawerlayout,Navigationview,这个简单的问题我自己都找不到答案,也弄不明白 如何使NavigationView在打开时始终在其“原始”滚动位置启动,从而使第一个菜单项始终可见,而不管之前滚动位置保留在何处 我尝试过这个,但没有成功: drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() { ... @Override public void onDrawerClosed(View drawerView) {

这个简单的问题我自己都找不到答案,也弄不明白

如何使NavigationView在打开时始终在其“原始”滚动位置启动,从而使第一个菜单项始终可见,而不管之前滚动位置保留在何处

我尝试过这个,但没有成功:

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);