Android上抽屉关闭的侦听器

Android上抽屉关闭的侦听器,android,listener,navigation-drawer,Android,Listener,Navigation Drawer,我有一个使用导航抽屉的应用程序,它提供了位置列表。抽屉中有几个选项(如选择国家、城市等),用户可以在主活动中显示相应列表之前进行设置 当用户关闭抽屉时,是否有可能刷新列表,或者是否有其他方法解决此问题?我试图搜索教程,但没有找到关于这个抽屉关闭的侦听器的任何信息。 任何建议都会有帮助,谢谢 当您设置ActionBarDrawerToggle时,您可以“实现”onDrawerClosed和onDrawerOpened回调。请参见中的以下示例: 编辑:现在setDrawerListener已被弃用,

我有一个使用导航抽屉的应用程序,它提供了位置列表。抽屉中有几个选项(如选择国家、城市等),用户可以在主活动中显示相应列表之前进行设置

当用户关闭抽屉时,是否有可能刷新列表,或者是否有其他方法解决此问题?我试图搜索教程,但没有找到关于这个抽屉关闭的侦听器的任何信息。
任何建议都会有帮助,谢谢

当您设置
ActionBarDrawerToggle
时,您可以“实现”onDrawerClosed和onDrawerOpened回调。请参见中的以下示例:


编辑:现在setDrawerListener已被弃用,请改用addDrawerListener。

如果您同时使用ActionBar,则反向答案是正确的。如果您只是直接使用抽屉布局,则可以向其中添加抽屉链接:

View drawerView = findViewById(R.id.drawer_layout);
if (drawerView != null && drawerView instanceof DrawerLayout) {
    mDrawer = (DrawerLayout)drawerView;
    mDrawer.setDrawerListener(new DrawerListener() {
            @Override
            public void onDrawerSlide(View view, float v) {

            }

            @Override
            public void onDrawerOpened(View view) {

            }

            @Override
            public void onDrawerClosed(View view) {
                // your refresh code can be called from here
            }

            @Override
            public void onDrawerStateChanged(int i) {

            }
        });
}


根据,既然
setDrawerListener()
已被弃用,则应使用
addDrawerListener()
setDrawerListener
已被弃用,请改用
addDrawerListener

drawerLayout.addDrawerListener(new DrawerListener() {
                @Override
                public void onDrawerSlide(View view, float v) {

                }

                @Override
                public void onDrawerOpened(View view) {

                }

                @Override
                public void onDrawerClosed(View view) {

                }

                @Override
                public void onDrawerStateChanged(int i) {

                }
            });

天哪,我完全忘了这个!谢谢提醒!如果有人看到这一点,
setDrawerListener
将被弃用<现在应该使用code>addDrawerListener,我更喜欢它,因为它不需要构造函数的参数
drawerLayout.addDrawerListener(new DrawerListener() {
                @Override
                public void onDrawerSlide(View view, float v) {

                }

                @Override
                public void onDrawerOpened(View view) {

                }

                @Override
                public void onDrawerClosed(View view) {

                }

                @Override
                public void onDrawerStateChanged(int i) {

                }
            });