/ / Viewpager fragmentos com gridview - android

Fragmentos Viewpager com gridview - android

Qual é a maneira correta de criar fragmentos com gridview? Posso fazer assim?

<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"
/>

E como eu adiciono o adaptador ao gridview em tempo de execução para adicionar itens a ele?

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);
}

Quando faço isso, a gridview é nula e não consigo anexar o adaptador a ela.

Respostas:

1 para resposta № 1

Você deve encontrar / configurar exibições em páginas individuais no instantiateItem método do seu PagerAdapter, não quando você está configurando o próprio pager. Cada página é criada preguiçosamente quando é necessária, e instantiateItem é o que é chamado para cada página configurá-lo. No ponto em que você está tentando encontrar o seu GridView Por exemplo, aqui ainda não existe porque o pager não o criou, e você não o localizou na página que deseja configurar.