2017-07-21 11 views
2

私はRecyclerViewのリスト項目にEditTextを持っています。 RecyclerViewをスクロールすると、項目が画面から消えると、EditTextはフォーカスを失います。だから、スクロールの画面に戻ってくると、フォーカスはEditTextには残りません。EditTextはRecyclerViewのScrollにフォーカスしません

私は同じ項目に留まるようにします。そのために、私はまた、項目のpositionを保存し、onBindViewHolderにフォーカスを再割り当てしようとしました。しかしそれはスクロールを遅くします。

ListViewでも試しましたが、別の種類のfocusという問題があります。フォーカスがそこに飛ぶ。

がSOにこのロット検索とロットをGoogleで検索しました。常に正しく動作しない android:focusableInTouchMode="true"android:descendantFocusability="afterDescendants"のような答えが見つかりました。

ご協力いただければ幸いです。

答えて

5

RecyclerViewの全体のポイントは、電話機がメモリ内のすべての行を一度に保持する必要がなく、常にビューを破棄して作成する必要がないように、ビューを再利用することです。あなたのEditTextが画面から離れると、携帯電話は、そのビューをとり、その内容をリセットし、着信ビュー・スタックの一番下に移動します。

RecyclerView diagram

これはあなたのEditTextが画面を離れると、それはもう存在しないことを意味しません。レイアウトから削除されるため、フォーカスを維持できません。

これを回避する唯一の方法は、あなたが、位置を格納し、その位置が画面上来るとチェック、手動でピントを復元され、言及するものだろう。

関連する問題