适配器值未从另一个更新 activity
Adapter values is not updated from another activity
我遇到了一个问题,我需要在另一个 activity 中更新适配器变量的值,回到第一个 activity 也应该得到更新后的值。
我现在的流程是这样的。我正在盯着 BarDetailsActivity 并从适配器 class 内部传递带有意图的模态,例如:
Intent barDetailIntent = new Intent(getApplicationContext(), BarDetailActivity.class);
barDetailIntent.putExtra("isfav", barsList.get(position));
barDetailIntent.putParcelableArrayListExtra("barlist",barsList);
mContext.startActivity(barDetailIntent);
然后在另一个 activity 上,我从意图中获取该模型并将其变量值更改为:
gbar = in.getParcelableExtra("isfav");
blist= in.getParcelableArrayListExtra("barlist");
if (gbar.getmFavourite()) {
gbar.setmFavourite(false);
} else {
gbar.setmFavourite(true);
}
现在回到我的主 Activity "gbar.setmFavourite" 的值不会在主 Activity 恢复时更新。
@Override
protected void onResume() {
super.onResume();
if(mAdapter != null){
mAdapter.notifyDataSetChanged(); // here the adapter value is not updated.
}
}
请帮我解决这个问题。
使用Event Bus来处理问题。
- 注册您的第一个 Activity 以收听事件并覆盖
onEvent 方法。
- 使用来自 SecondActivity 的更新数据集触发 stickyIntent。
- 在FirstActivity的onEvent方法中调用notifyDataSetChanged
使用更新的数据集。
我遇到了一个问题,我需要在另一个 activity 中更新适配器变量的值,回到第一个 activity 也应该得到更新后的值。
我现在的流程是这样的。我正在盯着 BarDetailsActivity 并从适配器 class 内部传递带有意图的模态,例如:
Intent barDetailIntent = new Intent(getApplicationContext(), BarDetailActivity.class);
barDetailIntent.putExtra("isfav", barsList.get(position));
barDetailIntent.putParcelableArrayListExtra("barlist",barsList);
mContext.startActivity(barDetailIntent);
然后在另一个 activity 上,我从意图中获取该模型并将其变量值更改为:
gbar = in.getParcelableExtra("isfav");
blist= in.getParcelableArrayListExtra("barlist");
if (gbar.getmFavourite()) {
gbar.setmFavourite(false);
} else {
gbar.setmFavourite(true);
}
现在回到我的主 Activity "gbar.setmFavourite" 的值不会在主 Activity 恢复时更新。
@Override
protected void onResume() {
super.onResume();
if(mAdapter != null){
mAdapter.notifyDataSetChanged(); // here the adapter value is not updated.
}
}
请帮我解决这个问题。
使用Event Bus来处理问题。
- 注册您的第一个 Activity 以收听事件并覆盖 onEvent 方法。
- 使用来自 SecondActivity 的更新数据集触发 stickyIntent。
- 在FirstActivity的onEvent方法中调用notifyDataSetChanged 使用更新的数据集。