将menuitem添加到Android TextEdit输入视图的现有上下文菜单中

时间:2012-01-09 21:36:29

标签: android contextmenu android-edittext menuitem

我有一种情况,我必须在TextEdit的现有(默认)上下文菜单中添加一个menuitem(在非活动中)

以下是我用来实现此目的的代码片段。但是,这并没有向我显示任何上下文菜单。

/// Constructor

    editText.setOnCreateContextMenuListener(Field1_Clicked);
    editText.setLongClickable(true);
    editText.setOnLongClickListener(Field_Clicked);

我在构造函数中这样做,因为这不是一个Activity。所以,我不能只说“registerForContextMenu(textView)”。如果我不在Activity中,我不能覆盖onContextItemSelected()。在这种情况下,如何收听单击哪个菜单项?

/// OnCreateContextMenuListener 

    View.OnCreateContextMenuListener Field1_Clicked = new View.OnCreateContextMenuListener() {

        public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
            Log.d("Test", "Creating context menu");
            menu.add(Menu.NONE, Menu.FIRST + 1, Menu.NONE, "New option");
        }
    };

永远不会被召唤。我没有在LogCat中看到日志消息。

/// OnLongClickListener 

    OnLongClickListener Field_Clicked = new OnLongClickListener() {

        public boolean onLongClick(View v) {            
            showContextMenu();
            return true;
        }   
    };

    public boolean onContextItemSelected(MenuItem item) {

        if(item.getTitle().equals("New option")) {
         // Do something();
        }
        return false;

    }

任何形式的帮助将不胜感激。谢谢!

0 个答案:

没有答案