gpt4 book ai didi

android - AppCompat v7 工具栏 onOptionsItemSelected 未调用

转载 作者:IT王子 更新时间:2023-10-28 23:57:42 24 4
gpt4 key购买 nike

我从原来的ActionBar改成了AppCompat Toolbar和setSupportActionBar(toolbar)。当我使用 getSupportActionBar() 和 setDisplayHomeAsUpEnabled(true) 作为后退箭头时,单击永远不会调用 onOptionsItemSelected 或任何其他监听器方法。

我必须为它实现一些特殊的监听器吗?在一切正常之前。

编辑:初始化 ActionBar:

mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
mActionBar = getSupportActionBar();
mActionBar.setHomeButtonEnabled(true);

在用 fragment 替换内容后,我这样做:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
mDrawerToggle.setDrawerIndicatorEnabled(false);
mActionBar.setDisplayHomeAsUpEnabled(true);

最佳答案

我知道这个问题已经得到解答,但经过 2 天的挫折后,我找到了问题的真正原因。

查看 ActionBarDrawerToggle 文档: https://developer.android.com/reference/android/support/v7/app/ActionBarDrawerToggle.html

注意那里的两个构造函数。我的错误是我使用了第二个将工具栏作为参数的构造函数。我花了很长时间才注意到构造函数文档中的最后一行:"如果您将 Toolbar 设置为 Activity 的 ActionBar,请使用 ActionBarDrawerToggle(Activity, DrawerLayout, int, int)” p>

在使用第一个构造函数后,onOptionsItemSelected() 被调用,没有任何问题。

不要忘记从您的 Activity 中调用 ActionBarDrawerToggle.onConfigurationChanged()onOptionsItemSelected(),如上一部分所述:http://developer.android.com/training/implementing-navigation/nav-drawer.html

关于android - AppCompat v7 工具栏 onOptionsItemSelected 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26588917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com