0

在edittext长按创建上下文菜单。如何删除上下文菜单?我试过这个:

      et.setOnLongClickListener(new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            return true;
        }
    });
    et.setCustomSelectionActionModeCallback(new ActionMode.Callback() {

        public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
            return false;
        }

        public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
            return false;
        }

        public boolean onActionItemClicked(ActionMode actionMode,
                MenuItem item) {
            return false;
        }

        public void onDestroyActionMode(ActionMode actionMode) {
        }
    });

但后来我无法选择文本。

4

2 回答 2

0

我不确定您是否可以完全删除菜单,但您可以在 onPrepareActionMode 中调用 menu.clear() ,这将从菜单中删除所有菜单项。您必须删除 onLongClickListener 才能再次看到句柄。

于 2013-03-06T01:21:38.253 回答
0

您可以创建自己的扩展 EditText 的类并覆盖 performLongClick() 方法,这应该可以按预期工作

class MyET extends EditText{

    public MyET(Context context) {
        super(context);
    }

    @Override
    public boolean performLongClick() {
        // TODO Auto-generated method stub
        return true;
    }

}
于 2013-03-06T05:49:46.873 回答