[Android Tip] Toolbar onOptionsItemSelected 无响应
来源:互联网 发布:虚拟机10安装mac 编辑:程序博客网 时间:2024/05/19 16:33
使用Toolbar已经有一段时间了,今天遇到一个奇怪的问题,在某些机型上onOptionsItemSelected不会被调用。
@Overrideprotected void onCreate(Bundle savedInstanceState) { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar actionBar = getSupportActionBar(); if (null != actionBar) { actionBar.setHomeButtonEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true); }}@Overridepublic boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); default: break; } return super.onOptionsItemSelected(item);}
如上代码在某些机型上会在ActionBar显示返回箭头,但是点击却无法调用onOptionsItemSelected方法。
Google了一下找到了一个解决办法,用Toolbar自带的setNavigationOnClickListener方法来代替onOptionsItemSelected:
@Overrideprotected void onCreate(Bundle savedInstanceState) { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar actionBar = getSupportActionBar(); if (null != actionBar) { actionBar.setHomeButtonEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true); } toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } });}
这样,返回按钮就可以正常响应了。
Google过程中的相关问题:
Android Toolbar Not Calling onOptionsItemSelected From Fragments On Backstack
AppCompat v7 Toolbar onOptionsItemSelected not called
Appcompat Toolbar back button functionality on certain older phones has ‘issues’
0 0
- [Android Tip] Toolbar onOptionsItemSelected 无响应
- Fragment中onOptionsItemSelected不响应
- android 程序无响应
- Android 程序无响应
- Android 建立Menu选单&&onOptionsItemSelected
- Android 建立Menu选单&&onOptionsItemSelected
- Android:onOptionsItemSelected、onMenuItemSelected、onContextItemSelected 区别
- Android:onOptionsItemSelected、onMenuItemSelected、onContextItemSelected 区别
- Toolbar CSubClassWnd Tip 弹出窗口
- android ListView 点击无响应
- android studio ADB无响应
- Android开发工具无响应的解决办法
- android listView 点击无响应的解决办法
- Android ListView onitemclick事件无响应
- android listView 点击无响应的解决方法
- android listView 点击无响应的解决方法
- android配置ADT无响应解决方法
- Android关于listview item无响应
- android studio中rendering problems解决方法
- 允许表单使用HTTP统一接口的模板
- 无法使用真机调试Android程序&&应用程序意外停止
- std::none_of
- Bootloader之uBoot简介
- [Android Tip] Toolbar onOptionsItemSelected 无响应
- 单行文本水平触摸滑动效果
- 欧拉工程第33题:Digit cancelling fractions
- 6款源码搜索引擎
- KNN算法及其实现
- UVA 11582 Colossal Fibonacci Numbers! (大斐波那契数)
- Hibernate的发展和特点以及Hibernate的工作原理简介
- android Log.isLoggable步骤的使用
- java 生成邮件