android无法单击ListView动作模式项

时间:2014-08-14 20:48:28

标签: listview android-fragments onclicklistener android-actionmode

我有一个带有三个片段的可跳转标签的活动。第一个片段是ListView。我需要在长按列表项时显示操作模式。以下代码工作正常。但是,当我单击动作项时,onActionItemClicked永远不会被调用,而是在单击actionView(标签)后面的视图。

这是动作模式的截图,你可以看到菜单项与背景视图(标签)混合了文字" FOLDERS"实际上是在acionview背后。enter image description here

这是我在其他设备上获得的enter image description here 这是我的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上的其他设备和横向模式。我不知道该怎么做。有人请帮帮我......

1 个答案:

答案 0 :(得分:1)

这是一个已知的错误。除了您提交的问题,还有[问题673](https://code.google.com/p/android-developer-preview/issues/detail?id=673]

后者已经传递给Google的开发团队。