2016-07-07 16 views
0

enter image description here Ich verwende VerticalGridFragment, um meine einzelne Inhaltsliste zu füllen. Ich verwende ArrayObjectAdapter für den Adapter. Was ich bemerkt habe, ist, dass die Daten der letzten Zeile falsch angeordnet sind. Zum Beispiel:VerticalGridFragment in der Bibliothek 'leanback' bindet Daten für die letzte Zeile falsch.

1) Siehe Bildanhang oben.

2) Wenn meine Liste aus 5 Spalten besteht und ich nur 4 Inhalte in der letzten Zeile anzeigen lasse, zeigt Lehnrück den Inhalt im 2., 3., 4. und 5. Slot an und der erste Slot ist leer.

3) In anderen Fällen wurden die letzten 5 Inhalte in 1,2,3,4 Slots angezeigt und anstatt den letzten Inhalt im fünften Slot zu füllen, wurde der letzte Inhalt in der Mitte (3. Slot) eines komplett platziert neue Reihe.

Es gibt viel mehr inkonsistente Datenbindung, wenn es um letzte Zeile geht.

Hat irgendjemand von euch diese Art von Verhalten in der Lehnbücher-Bibliothek bemerkt? Oder irgendeine Lösung, um das zu beheben? Hier

ist der Extrakt aus meinem Code:

private volatile ArrayObjectAdapter listAdapter; 

private void setupUX() { 
    setSearchAffordanceColor(getResources().getColor(R.color.search_bg_color)); 
    VerticalGridPresenter verticalGridPresenter = new VerticalGridPresenter(); 
    verticalGridPresenter.setNumberOfColumns(NUM_COL); 
    setGridPresenter(verticalGridPresenter); 
    CardView cardView = new CardView(); 
    queriesFired = new HashMap<>(); 
    dataHandler = new Handler(getActivity().getMainLooper()); 
    listAdapter = new ArrayObjectAdapter(cardView); 
    setAdapter(listAdapter); 
    new Handler().postDelayed(() -> startEntranceTransition(), 500); 
} 

private void populateData() { 
    .... 
    listAdapter.add(uiContent); 
    .... 
} 
+0

Können Sie den Code teilen, den Sie dafür verwenden? –

+0

Den Code finden Sie zusammen mit der ursprünglichen Frage. Vielen Dank. – Vpd

Antwort

0

das Problem gefunden - ich einstellen setMaxLines (2) für die Bildkarten, die verwendet werden, um die Liste zu füllen (so dass ich Filmtitel in angezeigt werden kann zwei Linien). Dies scheint das Layout von verticalGridFragment durcheinander zu bringen.