2
Ich versuche Arraylist durch eine Übertragung von einem Service
in der Absicht, wie diesePass Arraylist in intent.putExtra in Broadcast-gibt null in getBundleExtra
ArrayList objects = new ArrayList();
for (MasterVO vo : masterVOs) {
objects.add(vo.getMasterTables());
objects.add(vo.getDeviceUpdateStatus());
}
Bundle extra = new Bundle();
extra.putSerializable("objects", objects);
intent.putExtra("extra", extra);
sendBroadcast(intent);
Dann ist es in der Tätigkeit immer passieren:
private void updateUI(Intent intent) {
Bundle extra = getIntent().getBundleExtra("extra");
ArrayList<Object> databaseList = (ArrayList<Object>) extra.getSerializable("objects");
fillMasterTable(databaseList);
}
Die onReceive()
der Sendung:
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
updateUI(intent);
}
};
ich bin bekommen null
in der extra
. Was mache ich falsch? Ich habe gesehen, dass es Werte im `sendBroadcast'-Teil gibt.
können Sie Code mit 'Broadcast Receiver' aktualisieren? –
versuchen Sie immer, die schwere Arbeit in 'BroadCastReciever' zu vermeiden. der bessere Weg, um einen Service von Bradcast Receiver zu starten und die Benutzeroberfläche/Aktivität von dort zu aktualisieren. –