2017-10-23 3 views
0

So habe ich einen Listenansicht und Adapter eingerichtet. Wenn ich ein Element über adapter.add() in der oncreate() -Methode hinzufüge, ist alles in Ordnung. Aber wenn ich hinzufügen, es Trog ein Zuhörer es diesen seltsamen grauen Raum schafft, als ob die Gegenstände unter den anderen Elementen sind:Grauer Bereich in der Listenansicht, wenn der Adapter aktualisiert wird

enter image description here

Dies ist der Code, der die Elemente ergänzt:

   ArrayList<Task> newTasks = new ArrayList<>(Arrays.asList(parser.ParseTasksJson(result))); 

       for (int i =0; i < 3;i++) 
       { 
        Task task = new Task(i, "Item" + i, 0); 
        tasks.add(task); 
       } 

       for(Task t : newTasks) 
       { 

        adapter.add(new Task(t.getTask_id(), t.getTask_title(), t.getTask_done())); 
       } 
       adapter.add(new Task(99,"Task after forloop", 0)); 

       adapter.notifyDataSetChanged();`enter code here` 

Und das ist mein Layout:

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

    <include layout="@layout/toolbar_home"/> 

    <ListView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/listview"> 
    </ListView> 
</LinearLayout> 

EDIT: Ich war nicht klar genug. Das eigentliche Problem besteht darin, dass die Elemente aus dem Parser nicht in der Listenansicht angezeigt werden, obwohl sie zum Adapter hinzugefügt werden. Den aktualisierten Code sehen.

+0

es tun android: divider = "@ null" android: dividerHeight = "1dp" – Mohammad

+0

Wird der Hörer tatsächlich aufgerufen? Hast du das nachgeprüft? –

+0

@GiovanniTerlingen Ja und die Items werden tatsächlich zum Adapter hinzugefügt, es werden nur in der Listenansicht nicht angezeigt. –

Antwort

1

Ihr Code ordnungsgemäß funktioniert, aber das Problem ist in dieser Zeile:

adapter.add(new Task(t.getTask_id(), t.getTask_title(), t.getTask_done())); 

Vergewissern Sie sich, dass die Werte korrekt sind, scheint es mir, dass Ihre Daten nicht einen gültigen Titel enthält, und Ihr Layout Artikel haben eine Höhe von wrap_content. Das heißt, die Elemente werden hinzugefügt, aber nicht hoch genug, da sie keinen Inhalt haben.

Das ist, warum Sie diesen seltsamen grauen Raum sehen, sie sind eigentlich mehrere Gegenstände, aber nicht groß genug, um zu sehen.

Verwandte Themen