我有一个带有三个片段的可跳转标签的活动。第一个片段是ListView。我需要在长按列表项时显示操作模式。以下代码工作正常。但是,当我单击动作项时,onActionItemClicked永远不会被调用,而是在单击actionView(标签)后面的视图。
这是动作模式的截图,你可以看到菜单项与背景视图(标签)混合了文字" FOLDERS"实际上是在acionview背后。
这是我在其他设备上获得的 这是我的ActionMode.Callback
private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
// called when the action mode is created; startActionMode() was called
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// Inflate a menu resource providing context menu items
MenuInflater inflater = mode.getMenuInflater();
// assumes that you have "contexual.xml" menu resources
inflater.inflate(R.menu.actions, menu);
return true;
}
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false; // Return false if nothing is done
}
// called when the user selects a contextual menu item
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
debug("onActionItemClicked");
mode.finish();
return false;
}
// called when the user exits the action mode
public void onDestroyActionMode(ActionMode mode) {
debug("onDestroyActionMode");
}
};
和项目longClick监听器
list.setOnItemLongClickListener(new OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
mActionMode = getActivity()
.startActionMode(mActionModeCallback);
return true;
}
});
此问题仅适用于在纵向模式下使用android L的nexus 5。它适用于nexus 5上的其他设备和横向模式。我不知道该怎么做。有人请帮帮我......
答案 0 :(得分:1)
这是一个已知的错误。除了您提交的问题,还有[问题673](https://code.google.com/p/android-developer-preview/issues/detail?id=673]。
后者已经传递给Google的开发团队。