Ich könnte Hilfe mit diesem seltsamen Problem verwenden. Beim ersten Laden ist meine Listenansicht leer. Wenn ich klicke, um die Seite erneut zu laden, entweder indem ich zu einer anderen Aktivität gehe oder die gleiche Aktivität aktualisiere, wird meine Liste angezeigt. Irgendwelche Ideen? Vielen Dank.Adapter-Methode notifyDataSetChanged nicht erfrischend listview
Meine Variablen:
private static ArrayList<Media_Info> mediaIntroQueueList = new ArrayList<Media_Info>();
private static ArrayList<String> mediaIntroQueueListTitles = new ArrayList<>();
ArrayAdapter<String> stringAdapter;
ListView mediaList;
OnCreate: wo ich meine stringAdapter gesetzt
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_meet);
Toolbar myToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(myToolbar);
// LOG
Log.i("Constants", Constants.userID);
mediaList = (ListView) findViewById(R.id.mediaListView);
stringAdapter = new ArrayAdapter<>(
this,
android.R.layout.simple_list_item_1,
mediaIntroQueueListTitles);
mediaList.setAdapter(stringAdapter);
@Override
protected void onStart() {
super.onStart();
Log.i("ACTIVITY", "onStart");
getUserLocation();
getLocalIntroductions();
}
private void getLocalIntroductions() {
/// a bunch of firebase db calls
if (mediaLocationKeysWithinRadius.contains(mediaID)) {
Log.i("media within radius: ", mediaID);
newItems.add(mediaInfoDic);
newItemsTitles.add(title);
}
else {
Log.i("media not in radius: ", mediaID);
}
}
mediaIntroQueueList = newItems;
mediaIntroQueueListTitles = newItemsTitles;
stringAdapter.notifyDataSetChanged();
Seht ihr die mediaId beim ersten Start angemeldet? Um ehrlich zu sein, ich bin überrascht, dass Sie irgendwelche Elemente in der Liste sehen, denn soweit ich sehen kann, fügen Sie niemals Elemente zu den Daten Ihres Adapters hinzu. Auch Ihr Code ist nicht vollständig –
können Sie Ihren Code formatieren und sind Sie sicher, dass Sie 'stringAdapter.notifyDataSetChanged()' direkt nach der Aktualisierung Ihrer Datenmenge aufrufen? – Raghunandan