Android: выделение предложения в абзаце при длительном нажатии

Я знаю, что мы можем сделать textView интерактивным. Когда кто-то открывает новостную статью на WebView и долго щелкает предложение в абзаце, я хотел бы дать пользователю возможность выделить его для дальнейшего использования или добавить к нему комментарий. Для этой цели, где я должен хранить каждое предложение в абзаце при загрузке веб-сайта? Должен ли я использовать textviews для каждого предложения и вызывать OnLongClickListener()?

tv.setOnLongClickListener(new OnLongClickListener(){

    public boolean onLongClick(View v) {
        // what to do here?
    }
});

Буду признателен за любые советы! Спасибо за вашу помощь.


person Henry    schedule 09.10.2017    source источник


Ответы (1)


Может быть много способов реализовать эту подсветку. Это зависит от вашего выбора - хотите ли вы показать диалоговое окно, чтобы сделать что-то или показать небольшой фрагмент или что-то еще. Но для выделения текста вы можете использовать XML-тег android:textColorHighlight.

Доступ к нему на стороне Java textView1.setHighlightColor(Color_Goes_Here);

Для дальнейшего чтения обратитесь к документации: https://developer.android.com/reference/android/widget/TextView.html#setHighlightColor(int)

РЕДАКТИРОВАТЬ: ПОЯСНЕНИЕ ВОПРОСА

Просто чтобы быть уверенным - вам нужна только функция выделения или вам нужна помощь в создании всплывающего окна, которое появляется, когда пользователь выбирает текст. Из того, что я понял сейчас, вам следует взглянуть на registerForContextMenu.

Зарегистрируйте текстовое представление с помощью registerForContextMenu(_TextView_Goes_Here); Затем просто переопределите onCreateContextMenu()

Затем ваш текст можно копировать, вставлять или делать с текстом все, что вы хотите. https://developer.android.com/guide/topics/ui/menus.html

person Aman    schedule 09.10.2017
comment
Наверное, я не смог четко задать вопрос. Я говорю о текстовом представлении, которое содержит более 1 предложения (например, абзаца). Мне нужно иметь возможность выбрать 1 предложение из этого текста при нажатии. - person Henry; 10.10.2017