【发布时间】:2017-03-06 16:10:49
【问题描述】:
我有一个 RecyclerView,其中填充了从服务器响应接收到的项目列表。
首先,用户输入一个日志/密码,选择一个具体的内容,比如:1个内容。
登录后,用户使用 has RecyclerView 进入活动,其中有内容 1 的字段。
当用户单击“后退”按钮时,他返回到注册的主要活动并选择已经存在的内容 2。单击“登录”按钮后,再次进入 RecyclerView,但由于某种原因,它具有来自内容 1 的字段和字段内容 2 添加到列表末尾。
我使用这种方法:
@Override
public void onBackPressed() {
super.onBackPressed();
recyclerView.removeAllViewsInLayout();
recyclerView.removeAllViews();
unswerFromMain.clear();
recyclerAdapter.updateAdapter(unswerFromMain);
}
这是在适配器中:
public void updateAdapter (ArrayList<Unswer> updateUnswer){
getUnswer.clear();
getUnswer.addAll(updateUnswer);
notifyDataSetChanged();
}
所有这些方法都不起作用。
【问题讨论】:
-
你必须清除适配器,然后使用 adapter.notifydatasetchange 和最后一行用户 super.onBackPressed();
-
但我做到了...
-
recyclerAdapter.notifyDataSetChanged();
-
我放了,没用((我放了空的 ArrayList,我放了清除 ArrayList - 在我调用方法 updateAdapter 后,包含 notifyDataSetChanged();
标签: android android-recyclerview onbackpressed