/ / Fragments de Viewpager avec gridview - android

Fragments Viewpager avec gridview - android

Quelle est la bonne façon de créer des fragments avec gridview? Puis-je le faire comme ça?

<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FF0000"

android:numColumns="2"
android:verticalSpacing="10dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>

Et comment puis-je ajouter un adaptateur à gridview dans l'exécution pour y ajouter des éléments?

private void initialisePaging() {

List<Fragment> fragments = new Vector<Fragment>();
fragments.add(Fragment.instantiate(this, fragment1.class.getName()));
fragments.add(Fragment.instantiate(this, fragment2.class.getName()));
fragments.add(Fragment.instantiate(this, fragment3.class.getName()));
this.mPagerAdapter  = new MyPagerAdapter(super.getSupportFragmentManager(), fragments);
//this.mPagerAdapter.setListener(this);
Log.e("init", "message");
pager = (ViewPager)super.findViewById(R.id.viewpager_menu);
pager.setAdapter(this.mPagerAdapter);

GridView gridView = (GridView)findViewById(R.layout.menu1_fragment);
}

Lorsque je le fais, la grille est null et je ne peux pas y connecter d’adaptateur.

Réponses:

1 pour la réponse № 1

Vous devriez trouver / configurer des vues sur des pages individuelles dans instantiateItem méthode de votre PagerAdapter, pas lorsque vous configurez le pageur lui-même. Chaque page est créée lentement lorsque vous en avez besoin, et instantiateItem est ce qui est appelé pour chaque page pour le mettre en place. Au moment où vous essayez de trouver votre GridView Par exemple, il n’existe pas encore car le pageur ne l’a pas créé et vous ne l’avez pas localisé sur la page que vous souhaitez configurer.