[現象]
RecyclerViewで画面を初期表示する際に、画面がちらついてしまう問題が発生しています。
[前提]
RecyclerViewの表示にはdatabindingを使用しており、データをバインドするクラスの値をレイアウトに出力するようにしています。
[問題の内容]
処理は以下の順で行っています。
①データ取得まではRecyclerViewを非表示にする
②WEBのAPIを非同期で呼び出し、取得できた段階でデータをバインドするクラスに渡す
③データをRecyclerViewにセットし、更新のメソッドを実施する(notifyDataSetChanged)
④RecyclerViewを表示にする
問題は、④でRecyclerViewを表示する際に③で
APIから取得した値ではなく、レイアウトファイルで設定した初期設定の値が
まず表示され、その後③で取得したデータの値が画面に反映されることです。
[調査した内容]
・APIの取得は非同期で行われているため、レイアウトを表示するタイミングで
まだ取得が完了していない場合は遅れて表示がされてしまうのかもしれない
→非同期処理が終わるまでRecyclerViewを表示しないようにしているので、原因とはいえない。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。