gpt4 book ai didi

java - 适配器值未从其他 Activity 更新

转载 作者:行者123 更新时间:2023-12-01 08:52:33 25 4
gpt4 key购买 nike

我遇到了一个问题,我需要更新另一个 Activity 中适配器变量的值,并且返回第一个 Activity 也应该获得更新的值。

我目前的流程是这样的。我盯着 BarDetailsActivity 并从适配器类内部有意传递模式,如下所示:

  Intent barDetailIntent = new Intent(getApplicationContext(), BarDetailActivity.class);
barDetailIntent.putExtra("isfav", barsList.get(position));
barDetailIntent.putParcelableArrayListExtra("barlist",barsList);
mContext.startActivity(barDetailIntent);

然后在另一项 Activity 中,我从 Intent 中获取该模型并将其变量值更改为:

 gbar = in.getParcelableExtra("isfav");
blist= in.getParcelableArrayListExtra("barlist");
if (gbar.getmFavourite()) {
gbar.setmFavourite(false);
} else {
gbar.setmFavourite(true);
}

现在回到我的主要 Activity “gbar.setmFavourite”的值在 MainActivity 的 onresume 上没有更新。

@Override
protected void onResume() {
super.onResume();
if(mAdapter != null){
mAdapter.notifyDataSetChanged(); // here the adapter value is not updated.
}
}

请帮我解决这个问题。

最佳答案

使用Event Bus来处理问题。

  1. 注册您的第一个 Activity 以监听事件并覆盖onEvent 方法。
  2. 使用 SecondActivity 中更新的数据集触发 StickyIntent。
  3. 在FirstActivity的onEvent方法中调用notifyDataSetChanged使用更新的数据集。

关于java - 适配器值未从其他 Activity 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42292204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com