我遇到了一个问题,我需要在另一个活动中更新适配器变量的值,并且返回第一个活动也应该获得更新的值。
我目前的流程是这样的。我正在盯着BarDetailsActivity并从适配器类中传递带有intent的模态,如:
Intent barDetailIntent = new Intent(getApplicationContext(), BarDetailActivity.class);
barDetailIntent.putExtra("isfav", barsList.get(position));
barDetailIntent.putParcelableArrayListExtra("barlist",barsList);
mContext.startActivity(barDetailIntent);
然后在另一个活动中,我从意图中获取该模型并将其变量值更改为:
gbar = in.getParcelableExtra("isfav");
blist= in.getParcelableArrayListExtra("barlist");
if (gbar.getmFavourite()) {
gbar.setmFavourite(false);
} else {
gbar.setmFavourite(true);
}
现在回到我的主要活动价值" gbar.setmFavourite"没有更新MainActivity的onresume。
@Override
protected void onResume() {
super.onResume();
if(mAdapter != null){
mAdapter.notifyDataSetChanged(); // here the adapter value is not updated.
}
}
请帮我解决这个问题。
答案 0 :(得分:1)
使用Event Bus来解决问题。