gpt4 book ai didi

java - 使用 putExtra 更新绑定(bind)服务中的值

转载 作者:行者123 更新时间:2023-11-29 09:05:15 24 4
gpt4 key购买 nike

我想通过 putExtra 将值从 Activity 更新到服务,但值始终是旧值。

Activity :

    ArrayList<String> listTODO = LoadSelections();
Intent i = new Intent();
i.putStringArrayListExtra("liste", listTODO);
i.setClassName("de.home.ku1fg", "de.home.ku1fg.RemoteService");
bindService(i, mConnection, BIND_AUTO_CREATE);

远程服务:

 public IBinder onBind(Intent intent) {
listTODO = intent.getStringArrayListExtra("liste");
return myRemoteServiceStub;
}

现在,当我更新 Activity 中的“liste”时,服务不会发生任何变化。有什么想法吗?

最佳答案

Intent 不是那样的。它不传递对 Intent 中对象的引用,它序列化对象并将其放入 Intent 中。所以更新一个版本不会更新另一个。这就是为什么您可以将 Intent 传递给完全不同的 Activity 的原因 - 没有引用值,而是制作副本。

关于java - 使用 putExtra 更新绑定(bind)服务中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15394392/

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