Выделение текста в WebView? - PullRequest
6 голосов
/ 11 июля 2009

Браузер делает это, вызывая метод public void emulateShiftHeld() в WebView, который скрыт в SDK.
Любые другие варианты?

Ответы [ 2 ]

8 голосов
/ 11 июля 2009

Из класса, который расширяет WebView :

public void selectAndCopyText() {
    try {
        Method m = WebView.class.getMethod("emulateShiftHeld", null);
        m.invoke(this, null);
    } catch (Exception e) {
        e.printStackTrace();
        // fallback
        KeyEvent shiftPressEvent = new KeyEvent(0,0,
             KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0);
        shiftPressEvent.dispatch(this);
    }
}

А затем вам нужно использовать ClipboardManager для поиска нового текста.

Работает на Android 1.5 - 2.3. emulateShiftHeld () опубликовано с 2.2.

3 голосов
/ 26 октября 2010

Этот кусок кода делает то же самое, что и emulatehiftheld (). Это позволяет пользователю выбирать текст. Затем автоматически копирует его в буфер обмена.

        KeyEvent shiftPressEvent = new KeyEvent(0,0,
                 KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0);
            shiftPressEvent.dispatch(portal);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...