2017-05-27 5 views
0

私は複数の異なるlistViewアダプタを持っています。各listViewアダプタにはいくつかのeditTextがあります。ユーザーがeditTextを編集中は、ソフトキーボードが表示されます。キーボードを閉じるためにBACKボタンを押すと、editTextのテキストを更新したいと思います。ソフトキーボードのBACKボタンをインターセプトするlistViewアダプタの場合

情報を更新するには、どのアダプタクラスが処理されているか、このeditTextのどの位置が編集中であるか、テキストの内容を知る必要があります。

私はすべての可能な解決策を見つけました。カスタムeditTextクラスを設定し、OnKeyPreIme関数をオーバーライドするクラスがあります。この解決策は、私が上にほしいすべての情報を私に得ることができませんでした。

私はアダプタクラスで実装できるBACKボタンをインターセプトする方法を提案してください。または私は簡単に私が更新したい情報を得ることができます。

答えて

0

use onBackPressed() from the Activityは、ユーザーが戻るボタンを押したときを検出できます。

あなたが実際にどのようなロジックを持っているのかはっきりしません。一般的なパターンは、イベントをキャプチャするときにActivityがアクセスできるすべてのEditTextリソースの状態を評価できることです。 setText()getText()を使用して、説明している特注の機能を設定することができます。

戻るボタンを押したときにソフトキーボードが開いているかどうかを判断する必要がある場合があります。フィールドを更新するかどうかを指定します。このsolutionは、そうするための有用なメカニズムを説明しています。

関連する問題