我的代码如下所示
RecyclerViewAdapter violateRuleListAdapter;
@Override
public void onCreate() {
...
myDataset=getFromDatabase();
violateRuleListAdapter = new ViolateRuleListAdapter(mContext, myDataset);
mViolateRuleRecyclerView.setAdapter(violateRuleListAdapter);
}
@Override
public void onResume() {
myDataset=getFromDatabase();
violateRuleListAdapter.notifyDataSetChanged();
}
应用程序从db获取其他活动中的数据集。但是当我回来时,我发现适配器没有改变。我不能像BaseAdapter一样使用它吗?
答案 0 :(得分:4)
我认为getFromDatabase();
会返回新对象,因此传入recyclerview
的原始引用会丢失并且不会更改。您需要做的是更改myDataset
的内容而不是其引用,例如,如果myDataset
是代码下面的列表,则使用
myDataset.clear();
myDataset.addAll(getFromDatabase());