1

こんにちは私は文(TextView)を持っていて、特定の単語をタップしたいのですが、この単語をToastで表示したいのです。たとえば、OnClickListerを設定して、文全体ではなく、タップした単語を取得できるようにします。

例えば

文TextView---私はstackoverflowが大好きです

「愛」をタップ----->「愛」という言葉を乾杯

私はたくさんのTextViewを作成し、それぞれにリストナーを設定するというアイデアを思いついただけです...それは良いことではありません...これを実装する方法について何かアイデアはありますか?

多分私が知らないワードプロセッシングのためのいくつかのライブラリがありますか?

4

2 に答える 2

3

TextView/EditTextでタップして単語を選択します

上記の質問を参照してください。私はそれがあなたの問題を解決するかもしれないと思います。単語ごとに1つのテキストビューを持つ必要はありません。文全体に対して1つのテキストビューがあります。次に、クリックされた単語をキャッチします。それが上で説明したワットだと思います。

これが役に立ったかどうか教えてください。

于 2012-09-02T11:37:16.170 に答える
0

各単語にClickableSpanを設定する別の解決策(@LakshmiNarayananの回答の参照が示唆しているように)は、にを設定するOnTouchListenerことTextViewです。次に、このonTouchメソッドで、次のようにタッチされた文字のオフセットを取得できます。

Layout layout = this.getLayout();
if (layout != null)
{
    int line = layout.getLineForVertical(motionEvent.getY()); 
    int offset = layout.getOffsetForHorizontal(line, motionEvent.getX());
} 

その後、BreakIteratorまたは独自の実装を使用して、触れられた単語を返すことができます。

于 2015-05-13T02:12:46.173 に答える