如何在TextView中获取所选文本的开始和结束索引?

时间:2018-02-21 13:30:27

标签: android textview highlight

我想在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 个答案:

答案 0 :(得分:0)

可能这就是你要找的东西

    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();
      }
  });