带有viewPager的Android multi RecyclerView

时间:2016-03-29 06:45:08

标签: android android-recyclerview

我的应用程序结构: " A" activity有一个EditText,它允许用户输入一个数字 如果用户输入" 3"。 B活动将使用viewPager生成3个选项卡。 每个选项卡将显示一个RecyclerView。

所以,我需要创建一个arraylist数组来存储项目

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

enter image description here

当用户输入&#34; 3&#34;: 它将是新的3列表

list.add(new ArrayList());

3 RecyclerView将共享一些适配器。 我创建了FAButton。将新项目插入特定选项卡。

我发现了一个问题。当我将项目插入特定列表。它会正确插入。但是,recyclerView不会立即更新。 我需要刷一下viewpager并滑动。将显示新项目。

我观察用户滑动viewpager时。 recyclerView的适配器将重新创建。

我需要为所有recyclerView新增一个适配器吗? 3 recyclerView = 3 adapter = 3 arraylist

ViewPager代码: Code

RecyclerView Code

1 个答案:

答案 0 :(得分:1)

最后,我解决了这个问题。

当我生成标签时 例如,我需要生成6个标签+ 6页+6个回收站视图 viewpager不会为这6个回收站视图创建6个recyclerview适配器。

当我将项目插入相应的列表时,我需要强制设置适配器。

首先, 在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(); 

最后,我可以解决这个问题