android - 如何知道在 Action 模式中何时按下后退箭头

标签 android android-actionmode

我有一个带有箭头按钮和删除图标的 Action 模式栏。 见下图 enter image description here

我试图在我的代码中识别何时按下箭头按钮但无法按下。我有以下代码

   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;

        }
    };

当我按下后退箭头按钮时,它不执行 case 语句 在 onActionItemClicked 函数中

case android.R.id.home:
     Log.d("BACKPRESS", "BACKPRESSD");
    return true;

而是执行 onDestroyActionMode 函数。我想知道以下内容:

  1. 我如何编写代码来确定何时按下后退箭头?例如, 我想要类似 if(在操作模式栏上按下后退箭头)做某事

  2. 如果您注意到,默认情况下操作模式栏是黑色的,带有红色阴影线。如何更改操作模式栏和红线的颜色?

  3. 关于问题 2,我可以为操作模式栏设置不同颜色的不同 Activity ,还是我的所有 Activity 只能使用一种颜色?如果是,如何?

最佳答案

试试这段代码 ->

@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));
}

关于android - 如何知道在 Action 模式中何时按下后退箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53843927/

相关文章:

android - 如何用我的主题指定黑暗 Action 模式

Android recyclerview-selection 实现?

android - ActionMode 触摸事件被传递到工具栏

android - 如何自定义 float ActionBar的背景?

android - 相对布局中的 z-index

android - 导入 Google 的 Zip 扩展库

android - 如何在 Android 中更改 ActionMode 背景颜色

android - 如何在 SQLite for android 中加减数字?

android - 有没有办法使用 ActivityInstrumentationTestCase2 将 Extras 添加到 Activity

android - 在 AVD 设备上检测 chromecast