Anfänglich werden nach dem Einrichten von benutzerdefinierter Listenansicht keine Elemente mehr hinzugefügt, d. H. Angezeigt in der Listenansicht, obwohl Objekt von FirebaseMessagingService hinzugefügt wurde. Ich habe listView static deklariert, so dass das Objekt aus anderen Klassen oder Diensten zur Liste hinzugefügt werden kann. Hier ist mein Code:Das Hinzufügen von Objekten zur benutzerdefinierten Listenansicht von FirebaseMessagingService
FirebaseMessagingService:
@Override
public void onMessageReceived(final RemoteMessage remoteMessage) {
//Toast.makeText(getApplicationContext(), remoteMessage.getData().get("transaction"),Toast.LENGTH_SHORT).show();
Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
Gson gson = new Gson();
Block b = gson.fromJson(remoteMessage.getData().get("transaction"), Block.class);
OpenChain.arrayList.add(b);
}
});
}
Listview-Aktivitätscode:
public static ArrayList<Block> arrayList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_open_chain);
arrayList = new ArrayList<>();
getSupportActionBar().setTitle("Vote Ledger");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
ListView listView = (ListView) findViewById(R.id.listView);
BlockchainAdap adap = new BlockchainAdap(this, arrayList);
listView.setAdapter(adap);
adap.notifyDataSetChanged();
}
** I Objekt von Wolke im JSON-Format ** Auch können empfangen Objekte hinzufügen von innen Listview-Aktivität, aber nicht von FirebaseMessagingSerivce