2016-03-29 14 views
0

私のアプリの構造は次のとおりです。 "A"アクティビティにはEditTextがあり、ユーザ入力に数字を入力できます ユーザが "3"を入力した場合。 Bアクティビティは、viewPagerで3つのタブを生成します。 各タブには1つのRecyclerViewが表示されます。AndroidマルチRecyclerView with viewPager

だから、私はアイテム

ArrayList<ArrayList<Object>> list=new ArrayList<>(); 

enter image description here

ユーザー入力 "3" を格納する配列リストの配列を作成する必要があります。 それは新しい3リスト

list.add(new ArrayList()); 

ます3 RecyclerViewはいくつかのアダプタを共有します。 FAButtonを作成します。特定のタブに新しい項目を挿入します。

問題が見つかりました。私は特定のリストに項目を挿入します。正しく挿入されます。しかし、recyclerViewはすぐには更新されません。 ビューページをスワイプしてスワイプする必要があります。新しい項目が表示されます。

ユーザーがビューページをスワイプすると、私はそれを観察します。 recyclerViewのアダプタが再作成されます。

私はすべてのrecyclerViewに新しいアダプタを必要としますか? 3 recyclerView = 3アダプター= 3のArrayList

ViewPagerコード: Code

RecyclerView

Code
+0

を発行し、固定することができますが、アダプタや活動のソースコードを与えることができます –

+0

2ファイルのコードを更新します – user2520217

答えて

1

最後に、私はこの問題を修正。

私はタブを生成するとき例えば、6タブ+ 6ページ+ 6リサイクラビューを生成する必要があります viewpagerは6リサイクラビューのリサイクルビューの6つのアダプタを作成しません。

対応するリストに項目を挿入するときに、アダプタを設定する必要があります。

まず、ViewPagerアダプタで が、私は挿入手順でrecyclerview

mrecyclerView.setTag("view"+position); 

にタグを設定する必要があり、私はタグを取得する必要があります。

RecyclerView view = (RecyclerView)mViewPager.findViewWithTag("view"+mViewPager.getCurrentItem()); 
view.setAdapter(new RecycleViewListAdapter(context,mViewPager.getAdapter()).list.get(mViewPager.getCurrentItem())); 
view.getAdapter().notifyDataSetChanged(); 

最後に、私はこれは

関連する問題