我有一个 ListView,一个 ArrayList。从活动 1 中,我传递了一些数据,例如价格和公司名称。此数据将存储在 Hashmaps 的 ArrayList 中。当我第一次将一些数据传递给包含 ListView 的第二个活动时,将在此列表中找到数据,但是当我返回第一个活动并再次传递一些信息时,旧数据仍将在列表中。有什么可能的方法可以防止这种情况发生吗?例如,当我从 activity2 返回到 activity1 时,ListView 将被擦除。
谢谢!
我有一个 ListView,一个 ArrayList。从活动 1 中,我传递了一些数据,例如价格和公司名称。此数据将存储在 Hashmaps 的 ArrayList 中。当我第一次将一些数据传递给包含 ListView 的第二个活动时,将在此列表中找到数据,但是当我返回第一个活动并再次传递一些信息时,旧数据仍将在列表中。有什么可能的方法可以防止这种情况发生吗?例如,当我从 activity2 返回到 activity1 时,ListView 将被擦除。
谢谢!
您需要做的:在包含 listView 的活动上 - 覆盖 onResume() 方法:
@Override
protected void onResume() {
super.onResume();
mArrayList.clear();
mAdapter.notifyDataSetChanged();
}
如果清除数组列表对您不利,则可以执行以下操作:
@Override
protected void onResume() {
super.onResume();
mListView.removeAllViews();
}