我的应用程序结构: " A" activity有一个EditText,它允许用户输入一个数字 如果用户输入" 3"。 B活动将使用viewPager生成3个选项卡。 每个选项卡将显示一个RecyclerView。
所以,我需要创建一个arraylist数组来存储项目
ArrayList<ArrayList<Object>> list=new ArrayList<>();
当用户输入&#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
答案 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();
最后,我可以解决这个问题