2016-10-31 1 views

Répondre

1

L'exemple leanback-showcase fourni par l'équipe Leanback a un bon exemple sur la façon de procéder. Je vous recommande fortement de cloner ce repo et de jouer dans ce projet.

Vous voudrez fondamentalement initialiser un Adapter avec un Presenter qui sait comment présenter les vues que vous souhaitez afficher dans votre liste. This class ici a un exemple précis de exactement ce que vous cherchez.

Dans l'exemple, ils utilisent un PresenterSelector, mais si votre liste est homogène (soutenu par un seul modèle), alors vous pouvez passer en un seul Presenter directement dans le Adapter - comme le Presenterhere.

Dans le code - première configuration de votre réseau présentateur

VerticalGridPresenter gridPresenter = new VerticalGridPresenter(ZOOM_FACTOR); 
gridPresenter.setNumberOfColumns(COLUMNS); 
setGridPresenter(gridPresenter); 

Ensuite, configurez votre adaptateur sur le VerticalGridFragment

PresenterSelector cardPresenterSelector = new CardPresenterSelector(getActivity()); 
mAdapter = new ArrayObjectAdapter(cardPresenterSelector); 
setAdapter(mAdapter); 

Puis ajouter des modèles à votre Adapter

private void createRows() { 
    String json = Utils.inputStreamToString(getResources() 
      .openRawResource(R.raw.grid_example)); 
    CardRow row = new Gson().fromJson(json, CardRow.class); 
    mAdapter.addAll(0, row.getCards()); 
} 
+0

Ceci est l'utilisation par défaut. J'ai besoin d'ajouter des vues personnalisées à ce fragment (FastScroller). Pas dans VerticalGridView. Y'a-t'il un quelconque moyen d'y arriver? –

+0

Vous ne pouvez pas placer une vue imbriquée sous VerticalGridView qui n'est pas présentée par le présentateur. Vous pouvez utiliser un PresenterSelector pour présenter différents types de vues (qui sont sauvegardés par différents modèles). Mais si vous souhaitez ajouter quelque chose qui ne figure pas dans la liste, vous devez ajouter la vue en dehors de VerticalGridView. –

+0

Veuillez lire mon commentaire précédent. Je veux ma vue en dehors de VerticalGridView. Comment puis-je faire ça exactement? –