TextWatcherをEditTextに追加し、onTextChanged(CharSequence s、int start、int before、int count)メソッドを使用してテキストの変更をリッスンしています。 onTextChanged()は、このEditTextに10文字のテキストを貼り付けると、貼り付けられたテキストの各文字に対して、左から右に10回呼び出されます。 onTextChanged()は、10文字すべてがEditTextに貼り付けられた後に1回だけ呼び出されるようにします。私はこれが可能でなければならないと確信しています。なぜなら、常に「1」になるのであれば、「カウント」パラメータを持つのは何ですか?Android - TextWatcherは貼り付けられたテキストの文字ごとに1回呼び出されます
1
A
答えて
2
count
は、1つのテキストブロックを選択して削除する場合や、オートコンプリートオプションを選択した場合など、常に1になるとは限りません。
いずれの場合でも、一度に1つのチャンクまたは1文字に貼り付けが行われるかどうかの詳細は実装の詳細です。どちらの動作にも依存すると、将来あなたのアプリが破損する可能性があります。
-1
afterTextChangedを使用してみてください。電話を1回だけ受け取ります。
+0
該当しません。 afterTextChanged()は、毎回onTextChanged()が呼び出された直後に呼び出されます。 – Beta
関連する問題
- 1. 貼り付けられたテキストを1行に変換する
- 2. TextWatcherのイベントが2回呼び出されています
- 3. 問題:onLocationListenerは1回だけ呼び出されます
- 4. appdelegate deallocは1回だけ呼び出されますか?
- 5. anythingslider 1スライドがクローンスライドに貼り付けられました
- 6. 貼り付けられたテキストからの¶(ピルクロー)の削除
- 7. リクエストごとに3回ProcessRequestが呼び出される
- 8. Androidと同じメソッドが2回呼び出されました
- 9. jQueryは貼り付け前にコピーされたテキストを書き換えます。
- 10. VIM:貼り付けられたブロック
- 11. OpenGLの基本:オブジェクトごとに1回glDrawElementsを呼び出す
- 12. クリックするとインタースティシャルが1回呼び出されます。
- 13. 携帯電話を再起動してからクリップボードに貼り付けたテキストを貼り付けます
- 14. iOS機能がセッションごとに1回だけ呼び出されるようにする
- 15. jQueryの.load()関数は1回だけ呼び出されます。
- 16. ファンクションは1回だけ呼び出されますが、複数回起動されます
- 17. UITextFieldが貼り付けられた文字列を取得したときを検出する
- 18. ページ要求ごとにコードを1回呼び出す方法
- 19. ファイルを貼り付けるシステムを呼び出す
- 20. Vim貼り付け - あらかじめヤンクされたテキストをスクロールする
- 21. Wordから貼り付けた文字列のHTMLエンコーディング
- 22. フォーマットされていない出力のコピーと貼り付け
- 23. 貼り付けられたコード間に白い線が追加されます
- 24. Android-Webview onPageFinished2回呼び出されました
- 25. 指定された値を持つすべての行を列に貼り付けて貼り付けます
- 26. FETStationPanelsを使用する文字化けのテキストですが、最初に呼び出されたのは
- 27. 複数のイベント、1つのハンドラが1回だけ呼び出される
- 28. Androidのクリップボードから貼り付け
- 29. Eclipseで貼り付けられていないテキスト(Java/Mac)
- 30. ウェブページにテキストを貼り付ける
私の悪い! onTextChanged()は、新しいテキストが貼り付けられる場所に応じて1,2回、または3回呼び出されます。テキストが貼り付けられているEditTextにテキストがなかった場合は、一度。新しいテキストが元のテキストの最初または最後に貼り付けられる場合は2回。新しいテキストが元のテキストの間のどこかに貼り付けられている場合は3回です。理由は、ペーストが別のキャラクターに隣接して起こっている場合、アンドロイドはその間にスペースを挿入するからです。スペースの挿入は、実際のテキストが挿入される前に行われます。スペースが挿入されないようにする方法があれば、もっと適切な質問でしょうか? – Beta