-1

次の場合に、テキストビュー内の特定の単語の正確な値を取得するにはどうすればよいですか? :textIsSelectable="true" 、したがって、デフォルトでは、Android はユーザーが特定の単語を強調表示し、小さなメニュー (コピー、貼り付け、共有) を開くことができるようにします。このメニューを操作したり、オプションを追加して拡張したり、強調表示された単語で何かをしたりできますか?

ユーザーとのやり取りに基づいて正確な単語を取得する必要があります(クリック、タップ、選択....)

簡単な答えは見つかりませんでした。それは可能ですか?

(私は android htc one 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>

次に、選択したテキストを取得するのはわずか 2 行のコードです。

EditText et = (EditText)findViewById(R.id.title);
String selectedText = et.getText().substring(et.getSelectionStart(), et.getSelectionEnd());

ここでは、テキストが左から右に選択されたと仮定しました。右から左に選択された場合、上記は例外になるため、開始位置が終了位置よりも高いかどうかを確認することでそれを回避できます。

于 2012-07-12T20:21:11.843 に答える