我有一个特殊的情况,我有一个父Activity,它在该Activity中扩展了ActionBaractivity,我用实现导航抽屉的所有样板代码声明并初始化了DrawerLayout.
然后,为了节省时间,我创建了新的活动,该活动在代码中扩展了此DrawerActivity,因此您可以在所有这些活动中打开导航抽屉.
发生这种情况时,会发生问题:
假设活动是:
Activity A = [A]Activity B = [B]
两者都扩展了DrawerActivity
[A] --- Open Drawer and Open --> [B] --- Press Back button ---> [A]
当您进入[A]时,导航抽屉会从主屏幕按钮打开,但是当我从[B]按下后退按钮时,无法从主屏幕按钮打开导航抽屉,但可以滑出抽屉.
有人可以向我解释我在这里做错了什么,我想知道ActionbarDrawerToggle.syncState()是否存在问题,但是我试图在所有可能的地方实现,但并没有解决问题.
就像我上面提到的那样,所有样板代码已经编写完毕,例如:
@OverrIDepublic boolean onoptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroIDManifest.xml. int ID = item.getItemID(); switch (ID) { case androID.R.ID.home: if (!mDrawerLayout.isDrawerOpen(recyclerVIEw)) { mDrawerLayout.openDrawer(recyclerVIEw); mActionbarDrawerToggle.syncState(); } else if (mDrawerLayout.isDrawerOpen(recyclerVIEw)) { mDrawerLayout.closeDrawer(recyclerVIEw); mActionbarDrawerToggle.syncState(); } break; case R.ID.action_logout: new DeauthorizeTask().execute(); } return super.onoptionsItemSelected(item);}
解决方法:
确保正确覆盖了onoptionsItemSelected().
@OverrIDepublic boolean onoptionsItemSelected(MenuItem item) { if (mDrawerToggle.onoptionsItemSelected(item)) { return true; } // Handle your other action bar items... return super.onoptionsItemSelected(item);}
总结 以上是内存溢出为你收集整理的打开另一个活动并返回后,Nav Drawer主页按钮无法打开抽屉全部内容,希望文章能够帮你解决打开另一个活动并返回后,Nav Drawer主页按钮无法打开抽屉所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)