2012-04-17 13 views
0

EditTextの選択が変更されるたびに呼び出されるリスナーが必要です。 私は周りを見つけましたが、APIレベル7に役立つものは何も見つかりませんでした。 テキストエディタを作成していて、太字/斜体/下線付きのテキストを選択するたびに太字/斜体/下線付きボタンが選択されています。Android(APIレベル7)のテキスト選択リスナー

+0

これを試しましたか? http://developer.android.com/reference/android/widget/TextView.html#addTextChangedListener%28android.text.TextWatcher%29 – Shubhayu

+0

TextWatcherの説明に従う "TextWatcherをメソッドのリストに追加しますこのTextViewのテキストが変わるたびに呼び出されます。 " テキストの選択がテキストではなく変更されたときに通知するリスナーが必要です。 PS: 私はちょっと試してみましたが、選択が変更されたときにTextWatcherのリスナーが呼び出されませんでした。 – Sazbak

+0

エディタを作成するためにEditTextを拡張していますか? – Shubhayu

答えて

0

EditTextを拡張し、変更するテキストをどのように管理するかに基づいて、カスタマイズした動作を実現する2つの方法のいずれかを上書きできます。

  1. 選択を変更したい場合は、onSelectionChanged()メソッドを使用してそこにコードを実装することができます。

  2. テキストがエディタで変更されたときに実装する場合は、onTextChanged()を使用できます。テキストの長押しで達成テキストの選択は、私は単純に使用するので、以下:

3

かなり古い質問は、誰かがまだこれが必要になる場合がありますので、ここで私の解決策だ

editText.setOnLongClickListener(new View.OnLongClickListener() { 

@Override 
public boolean onLongClick(View view) { 
     // do whatever you need to do on text selection 
    } 
}); 

は、これが可能にテキスト選択のカスタム動作のために、ユーザーがコピー/貼り付けを妨げることはありません。

+2

EditTextでlongPressハンドラを実行してテキストを選択する場合は、ここでfalseを返すようにしてください。あなたはあなたのonLongClick()をexectutedします。 –

関連する問題