Ich habe eine recyclerView
auf onCreateView
Methode. Aber ich muss mit Werten füllen, die ich auf onResume
Methode empfange. Das Problem ist onCreateView
Start vor onResume
. Was kann ich tun?Werte erhalten onResume Methode
0
A
Antwort
1
onCreateView ist in Adapter, und Sie können einen Adapter in onResume, und dann setAdapter
für Recyclerview in onResume erstellen.
Um zu vermeiden, jedes Mal zu erstellen, können Sie eine boolesche lokale Variable verwenden, die Ihnen sagt, ob der Adapter bereits erstellt wurde.
@Override
protected void onResume() {
super.onResume();
if (adapterNotCreated) {
adapter = new RecyclerAdapter(this, data)
daysRecyclerView.setAdapter(adapter);
daysRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
}
}
So ähnlich.
0
Sie sollten die Daten des Adapters aktualisieren, indem Sie in onResune notifidatasetchsnged anrufen, statt setAdapter, die in onCreateView getan werden sollte
posten Sie Ihre 'Fragment' Code – Sanoop
Sie können eine globale Recyclerview Instanz erstellen und initialisieren es in onCretaeView und setze Werte in onResume des Fragmentlebenszyklus. – Saurabh
postAdapter.notifyDataSetChanged(); an einem richtigen Ort? – EagleEye