Выбор текста в TextView (Android 2.2) - PullRequest
2 голосов
/ 08 июля 2011

Как реализовать возможность выбора текста на Android 2.2? Я искал в Google, но не могу найти решение.

Ответы [ 5 ]

2 голосов
/ 17 июля 2011

Это единственный способ, который я нашел (от Google), чтобы поддержать его для Android 1.6+, он работает, но он не идеален, я думаю, что в стоковом Android нельзя удерживать веб-просмотр, чтобы выделить до v2.3 , но я могу ошибаться ..

Кстати, это для веб-просмотра, оно также может работать с textview, но я не пробовал

(Примечание: это в настоящее время используется моим приложением, поэтому оно работает со всеми телефонами, на которых оно было протестировано, но единственная причина, по которой я нашел этот вопрос, заключалась в том, что я искал и надеялся, что кто-то пришел лучший путь к настоящему времени)

У меня только что появился пункт меню «Выбор текста», который вызывает функцию «selectnCopy ()»

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    //..
    switch (item.getItemId()) {
        case R.id.menu_select:
            selectnCopy();
            return true;
    //..
    }
}

Что выглядит так:

public void selectnCopy() {
    Toast.makeText(WebClass.this,getString(R.string.select_help),Toast.LENGTH_SHORT).show();
    try {
        KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
                KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
        shiftPressEvent.dispatch(wv);
    } catch (Exception e) {
        throw new AssertionError(e);
    }
}

Обратите внимание, я поместил туда строку select_help в качестве тоста, просто потому, что пользователю не сразу понятно, как он должен работать

<string name="select_help">Touch and drag to copy text.</string>
1 голос
/ 04 августа 2013

После долгого и долгого поиска я не могу найти компонент, который может выделять текст в textview для уровня Android API новый Выбираемый TextView в компоненте Android 3 (API <= 11) </a>

1 голос
/ 23 июля 2011

Предоставленная ссылка @Stefan Hållén работала только после API уровня 11.

А Android 2.2 - это API Lv.8, поэтому вы не можете получить идентификатор ресурса.

1 голос
/ 08 июля 2011

Вы установили текст для выбора? как это:

android:textIsSelectable="false"  //OR true

См. Документация для дальнейшего использования.

0 голосов
/ 13 июля 2011

Интересный обходной путь:

Вы можете попытаться отобразить свой текст в веб-просмотре.

Вам просто нужно записать теги HTML и все это в строку для отображения, и это должнобыть выбранным с помощью браузера WebKit.

Это должно быть довольно легко и прозрачно для пользователя, и я думаю, что это решит вашу проблему.

Дайте мне знать, если вам нужен пример кода, этодолжно быть довольно просто.Просто ознакомьтесь с документами по WebView на http://developer.android.com/resources/tutorials/views/hello-webview.html

Удачи!

...