Как сделать выбор слова в тексте?
Как можно вывести текст, и при касании одного слово какое-то действие делалось.
Сначала думал recyclerview горизонтальный или gridview таблица получится не подходит/
Нужно будет длинные тексты в список выводить , listview тоже не сможет элементы в виде текста вывести.
Получается нужно textview вывести но как обработать клик по тексту и узнать какое слово было нажато.
Какие есть догадки? в englishcentral есть такое
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Можно сделать при помощи EditText у которого не будет возможности редактирования текста:
<EditText
android:id="@+id/edittext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:editable="false"/>
Дальше мы длинным нажатием можем выбрать слово:
EditText edit = (EditText)findViewById(R.id.edittext);
OnLongClickListener lc = new OnClickListener(){
@Override
public boolean onLongClick(View view){
int selection_start = edit.getSelectionStart();
int selection_end = edit.getSelectionEnd();
String copy = edit.getText().toString().subString(selection_start, selection_end);
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(copy);
return false;
}
};
edit.setOnLongClickListener(lc);
Вот есть подобные обсуждения 1, 2 и 3 из которых можно почерпнуть дополнительную информацию.
