Добавление пункта меню в существующее контекстное меню представления ввода Android TextEdit - PullRequest
1 голос
/ 10 января 2012

У меня есть ситуация, когда мне нужно добавить пункт меню в существующее (по умолчанию) контекстное меню TextEdit (в неактивном режиме)

Ниже приведен фрагмент кода, который я использую для достижения этой цели. Однако, это не показывает мне никакого контекстного меню.

/// Constructor

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

Я делаю это в конструкторе, потому что это не действие. Поэтому я не могу просто сказать «registerForContextMenu (textView)». Если я не в деятельности, я не могу переопределить 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;

    }

Помощь любого рода будет оценена. Спасибо!

...