更适合用于您的场景的组件是EditText
.
它在您的清单文件中声明如下:
<EditText
android:text=" This is not an editable EditText"
android:id="@+id/EditText01"
android:layout_width="wrap_content"
android:textColor = "@android:color/white"
android:editable = "false"
android:cursorVisible="false"
android:layout_height="wrap_content"
android:background = "@android:drawable/dark_header">
</EditText>
然后,只需要两行代码就可以得到选中的文本:
EditText et = (EditText)findViewById(R.id.title);
String selectedText = et.getText().substring(et.getSelectionStart(), et.getSelectionEnd());
在这里,我们假设文本是从左到右选择的。如果它是从右到左选择的,那么上面会导致异常,因此您可以通过检查开始位置是否高于结束位置来避免这种情况。