2016-07-21 18 views
0

Ich habe einen ViewPagerAdapter und eine List mit ViewPager-Elementen darin. In einigen Momenten muss ich Elemente zu meiner Liste hinzufügen. Ich habe sie von List.addAll (Collection) hinzufügen, notifyDataSetChanged() aufrufen, und alles funktioniert gut. Aber manchmal muss ich einen Artikel zum Start meiner Liste hinzufügen. Ich kann sie hinzufügen, aber notifyDataSetChanged() funktioniert nicht, wenn der Start meiner Liste chanegd ist.Fügen Sie neue Elemente zum Anfang der Liste hinzu und benachrichtigen Sie den Adapter

Irgendwelche Ideen?

+2

Könnten Sie bitte Ihren Code angeben? –

+0

@MichaelSpitsin Ich werde dich mit Code versorgen, aber zuerst werde ich versuchen zu erklären, warum ich es brauche. Ich habe eine Liste von Nachrichten, und lade es Seite für Seite, addieren Sie Daten zum Adapter und alles funktioniert gut. Wenn ich von der Nachrichtenliste zur Nachrichtenseite gehen möchte, sollte ich eine Möglichkeit haben, sie in den Nachrichtendetails aufzulisten. Und deswegen benutze ich viewpager innerhalb von Newsdetailsactivity. Und wenn wir von der ersten Seite zu den Aktivitäten der News-Details gehen, funktioniert alles gut. aber, wenn ich zweite Seite lade, und gehe zu Nachrichten Datenaktivität von einigen Nachrichten von der zweiten Seite, ich habe zweite Seite innerhalb geladen –

+0

Das ist gut, aber irgendwie benötige ich den Code.) –

Antwort

0

Versuchen Sie diesen Code

List items = new ArrayList(); 

// einige fiktive objektliste wo wir Daten sind bevölkern

items.add(0, obj); 
listAdapter.notifyDataSetChanged(); 

Diese arbeiten kann. Sie müssen nicht in einer Schleife verwenden und diesen Artikel wieder Liste wieder

0

neue Objekte hinzufügen zu Beginn der Liste

Verwendung folgenden Code für das Element List in onCreate() Hinzufügen oder wo Sie wollen.

listName.add("item-1"); 
listName.add("item-2"); 
. 
. 
listName.add("item-n"); 

Adapter benachrichtigen

danach, verwenden notifyDataSetChanged() zu listAdapter für neue Objekte in der Liste, dieser Wille

listAdapter.notifyDataSetChanged(); 

Hoffnung

hilft Ihnen hinzugefügt, um intim.