android - 如何知道在动作模式下何时按下后退箭头
问题描述
当按下箭头按钮但无法识别时,我试图在我的代码中进行识别。我有以下代码
protected ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// Inflate a menu resource providing context menu items
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.item_selected, menu);
context_menu = menu;
return true;
}
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false; // Return false if nothing is done
}
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Log.d("BACKPRESS", "BACKPRESSD");
return true;
case R.id.menu_action_delete:
return true;
default:
return false;
}
}
@Override
public void onDestroyActionMode(ActionMode mode) {
mActionMode = null;
}
};
当我按下后退箭头按钮时,它不会执行 onActionItemClicked 函数中的 case 语句
case android.R.id.home:
Log.d("BACKPRESS", "BACKPRESSD");
return true;
而是执行 onDestroyActionMode 功能。我想知道以下内容:
我如何编写代码来确定何时按下后退箭头?例如,我想要 if(backarrow is press on the actionmode bar) 之类的东西做某事
如果您注意到,默认情况下,动作模式栏是黑色的,带有红色阴影线。如何更改动作模式栏和红线的颜色?
与问题 2 相关,我可以为动作模式栏设置不同颜色的不同活动,还是我的所有活动都仅限于一种颜色?如果是,如何?
解决方案
试试这个代码->
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case android.R.id.home:
Intent homeIntent = new Intent(this, HomeActivity.class);
startActivity(homeIntent);
}
return (super.onOptionsItemSelected(menuItem));
}
推荐阅读
- mongodb - 试图聚合多个字段 Mongoose
- php - 如何通过 php 将图像下载到我的笔记本电脑路径?
- javascript - Angular CLI 7:Sass 无法编译
- dao - VB5 应用程序在 access2000 mdb 文件上使用 DAO,不时出现 3218 错误
- react-admin - AutocompleteArrayInput 在 2.4.0 中不起作用
- botframework - 如何在语音中获取 Microsoft bot 欢迎消息?
- spring - Hdiv 3.4.0 和带有隐藏输入的弹簧
- pandas - 在 Pyspark 中连接多个文件
- html - Safari 不支持刷新内容
- r - 为什么在我将 NA 分配给缺失值后,我的因子中的空级别会被制表?