android edittext contextmenu

时间:2013-03-05 23:52:44

标签: android android-edittext android-contextmenu

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

      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) {
        }
    });

但后来我无法选择文字。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

class MyET extends EditText{

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

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

}