我想通过putExtra将值从活动更新到服务,但值始终是旧值。
的活动:
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);
Remoteservice:
public IBinder onBind(Intent intent) {
listTODO = intent.getStringArrayListExtra("liste");
return myRemoteServiceStub;
}
现在,当我更新活动中的“liste”时,服务中不会有任何变化。 有什么想法吗?
答案 0 :(得分:0)
意图不起作用。它不会传递对intent中对象的引用,它会将对象序列化并将其置于intent中。因此更新一个版本不会更新另一个版本。这就是为什么你可以将一个意图传递给一个完全不同的活动 - 没有引用这些值,你正在复制。