2017-03-13 14 views
0

RecyclerViewを作成し、適切なアダプタとLinearLayoutManagerを設定しました。 onCreateメソッドの外で私のViewHolderにアクセスできます。この問題を調査しているうちに、findViewHolderForAdapterPositionまたはfindViewHolderForLayoutPositionのいずれかの方法を使用できるようになる前に、ViewHolderにアクセスするには、LinearLayoutManagerはビューの位置の計算を終了する必要があります。レイアウト計算に関するRecyclerViewのViewHolderにアクセスする方法

私はRecyclerViewに追加した多くのビューア内の1つのビューのみを修正したいと思います。

私は現在(onResumeonCreateonStartActivityライフサイクルのいずれかの方法でビュー/ viewholdersへのアクセスにしよう(と失敗)しています。 LinearLayoutManagerにはonLayoutCompletedというメソッドがありますが、私の状況でそのメソッドを使用する方法がわかりません。

Activityライフサイクルのうちの1つの間にRecyclerView内部ビューやviewholdersのいずれかへのアクセスを得るか、何とかonLayoutCompletedLinearLayoutManagerによって呼び出されたときに把握することがとにかくありますか?これに別の方法がありますか?

理論的には、アダプタ内のリストにすべてのビューアを追加して、それにアクセスすることはできますが、それはきれいには見えません。

答えて

0

アダプタの内部にモデルのリストを保持してください。ビューを変更する必要がある場合は、モデルを変更してRecyclerView.Adapter.notifyItemChanged(int p)またはnotifyDataSetChanged()に電話してください。

関連する問題