MainActivity.java 我在这个类中实现了MultiChoiceModeListener ,下面是代码: 在listView : listView.setMultiChoiceModeListener(MainActivity.this); listView.setChoiceMode(listView.CHOICE_MODE_MULTIPLE_MODAL); @Override public boolean onActionItemClicked(ActionMode arg0, MenuItem arg1) { switch (arg1.getItemId()) { case R.id.save: // Close CAB arg0.finish(); return true; case R.id.saveto: // Close CAB arg0.finish(); return true; default: return false; } } @Override public boolean onCreateActionMode(ActionMode arg0, Menu arg1) { arg0.getMenuInflater().inflate(R.menu.save_menu, arg1); return true; } @Override public void […]
我正在尝试使用新的android.support.v7.widget.Toolbar ,除了传统的android.app.ActionBar 。 我能够显示它: toolbar.startActionMode(callback); 问题是ActionMode显示在ActionBar ,而不是在Toolbar 。 有没有办法改变这个? 我尝试在我的主题中设置以下内容,但似乎没有改变任何内容: <item name="windowActionModeOverlay">true</item>
我刚刚完成了一个我的应用程序调整到新的v22.1.1支持&appcompat库,看到这里和这里的更多细节。 当我做了一些testing的时候,我正在使用ActionModes 。 使用startSupportActionMode()调用启动ActionMode时 – 使用现在不推荐使用的ActionBarActivity基类或新的AppCompatActivity基类时onPrepareActionMode() – onPrepareActionMode()没有被调用。 在以前的版本中,包括v21.0.3和v22.0.0,当ActionMode最初使用startSupportActionMode()创build时,会自动调用startSupportActionMode() 。 我在2.2,4.0.2和5.0版本的设备上testing过,所以它不是版本依赖的。 有没有人知道,如果这是意向的行为,这是在v22.1.1引入,或一个错误? 我发现这个问题 ,但是这里没有太多的反馈 2015年5月11日编辑: 正如Android问题追踪器159527中提到的,这个问题不仅影响到appcompat的v22.1.x和支持库,还影响到了5.1 Android的实现。 目前有两种可能的临时解决scheme, @Override public ActionMode startSupportActionMode(final ActionMode.Callback callback) { // Fix for bug https://code.google.com/p/android/issues/detail?id=159527 final ActionMode mode = super.startSupportActionMode(callback); if (mode != null) { mode.invalidate(); } return mode; } 和一个“快速和肮脏的”(当你实例化你的ActionMode): final ActionMode actionMode = startSupportActionMode(new MyActionMode()); if(actionMode != null) […]