Android: как подавить панель действий в веб-просмотре при выборе текста

У меня есть приложение, основным компонентом которого является веб-просмотр. Я хочу разрешить пользователям выделять (выбирать) текст в веб-просмотре, но НЕ ПОКАЗЫВАТЬ какие-либо контекстные параметры, такие как копирование и вставка. В моем эмуляторе под управлением Android 2.3.x это не проблема, я могу выделить текст, и ничего не происходит. На устройстве Nexus я получаю контекстную панель действий с копией и выбором всех параметров. Я хочу разрешить пользователю выбирать текст, но я не хочу, чтобы он мог копировать текст. В идеале я хотел бы полностью подавить панель действий, но нужно сделать это вдали, которая компилируется, когда minsdk установлен на уровень API 8.


person aamiri    schedule 08.05.2012    source источник


Ответы (1)


Хак заключается в очистке буфера обмена при длительном щелчке текстового поля:

OnLongClickListener mOnLongClickListener = new OnLongClickListener() {

        @Override
        public boolean onLongClick(View v) {
            ClipboardManager clipboard = (ClipboardManager)
        getSystemService(Context.CLIPBOARD_SERVICE);
        clipboard.setText("");
            return false;
        }
    };

http://developer.android.com/reference/android/text/ClipboardManager.html

person Abhishek Chanda    schedule 08.05.2012
comment
Это не сработало. Прежде всего, когда вы возвращаете true в методе onLongClick, вы не можете выбрать текст. Когда я переключил его на возврат false, текст можно было выбрать, но в галактике nexux появилась контекстная панель действий. Моя установка немного отличается, но должна быть эквивалентной. У меня есть реализация моей активности onLongClickListener, и активность onLongClick() определена как таковая. ЕСЛИ это не эквивалентно, пожалуйста, дайте мне знать. - person aamiri; 08.05.2012
comment
Я предположил, что можно показать параметры копирования и вставки. Мой плохой, извините за это. И вы правы, он должен вернуть false. - person Abhishek Chanda; 08.05.2012