我设置了两个活动,一个收件箱和详细信息活动。收件箱活动只是消息的ListView,详细信息视图是单击单元格后的消息本身。
现在我最初从parse传入objectID并获得第二个活动上的intent数据就好了。我甚至构造了删除消息并返回初始收件箱活动的方法:
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ParseObject.createWithoutData("User_Messages",
messageObjectId).deleteInBackground(new DeleteCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
finish();
Toast.makeText(getApplicationContext(),
"You have deleted your message", Toast.LENGTH_SHORT).show()
}
}
});
}
});
现在的问题是,有时当返回到收件箱活动时,邮件仍会出现在ListView中,即使在收件箱活动的onCreate / onResume中我也有Async任务来获取和设置数据的适配器。因为我有完成();在解析块的完成部分中,我认为收件箱活动会调用异步任务来再次获取/设置适配器,那么为什么用户返回后偶尔不能正常刷新?
答案 0 :(得分:2)
您使用的是YourAdapter.notifyDataSetChanged()吗?或者只是你设置列表的适配器中的notifyDataSetChanged()?
答案 1 :(得分:1)
我猜您的适配器正在缓存您的数据。您必须告诉适配器更新/重新加载它的数据。 试试这个,希望它有效
adapter.notifyDataSetChanged();