У меня есть панель режима действий с кнопкой со стрелкой и значком удаления. см. рисунок ниже
Я пытаюсь определить в своем коде, когда нажата кнопка со стрелкой, но не могу. у меня есть следующий код
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. я хотел бы знать следующее:
как я могу написать код, чтобы определить, когда нажата стрелка назад? например, я хочу что-то вроде if (стрелка назад нажата на панели режима действий) сделать что-то
если вы заметили, по умолчанию панель режима действий черная с красной линией тени. как я могу изменить цвет панели режима действий и красной линии?
Что касается вопроса 2, могу ли я иметь разные действия с разным цветом для панели режима действий или я ограничен одним цветом для всех моих действий? если да, то как?