Как получить начальный и конечный индекс выделенного текста в TextView?
Я хочу выделить выделенный текст в android textview. Может кто-нибудь сказать мне возможность получить начальный и конечный индекс выделенного текста в android textview.
Я использую следующий TextView для выбора текста.
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textIsSelectable="true"
android:bufferType="spannable"
/>
Чтобы выделить строку спецификации, я использую следующий код. Как я могу получить начальный и конечный индекс выбранного текста.
SpannableString str = new SpannableString("Highlighted. Not highlighted.");
str.setSpan(new BackgroundColorSpan(Color.YELLOW), 0, 11, 0);
textView.setText(str);
1 ответ
Может быть, это то, что вы ищете
int start = textView.getSelectionStart();
int end = textView.getSelectionEnd();
образец кода:
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ClipboardManager cm = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
cm.setText(textView.getText());
int start = textView.getSelectionStart();
int end = textView.getSelectionEnd();
Toast.makeText(context, "Copied to clipboard", Toast.LENGTH_SHORT).show();
}
});