-1

在以下情况下,我如何在 textview 中获得特定单词的确切值:1 - 用户已录制了该单词(该单词可能只是某些文本块中的许多单词之一),2 - textview 在其 xml 布局中,android :textIsSelectable="true" ,因此默认情况下,android 允许用户突出显示特定单词并打开一个小菜单(复制、粘贴、共享)。我可以操作这个菜单或者添加更多选项以扩展它并使用突出显示的单词做我想做的事情吗?

我需要根据与用户的一些交互来获得确切的单词(点击、点击、选择....)

我没有找到任何直接的答案。有可能吗?

(我有 android htc 一个 x)

谢谢。

4

1 回答 1

1

更适合用于您的场景的组件是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());

在这里,我们假设文本是从左到右选择的。如果它是从右到左选择的,那么上面会导致异常,因此您可以通过检查开始位置是否高于结束位置来避免这种情况。

于 2012-07-12T20:21:11.843 回答