ViewPager のレイアウト内に GridView があります (それが違いを生むかどうかはわかりません)。
inside SampleAdapter for ViewPager{
@Override
public Object instantiateItem(ViewGroup container, int position) {
View page = null;
if (position == 0) {
page = getLayoutInflater().inflate(R.layout.layoutone,
container, false);
} else {
page = getLayoutInflater().inflate(R.layout.layouttwo,
container, false);
GridView grid = (GridView) page.findViewById(R.id.gridview);
grid.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
//switch to another activity based on click event
}
});
grid.setAdapter(new GridItemAdapter(context)); //sets custom gridItemLayout
container.addView(page);
return (page);
}
}
グリッドは問題なく表示できます。カスタム レイアウトも、私の GridAdapter に従って機能しています。ただし、クリック イベントが発生していません。instantiateItem() メソッド呼び出しが原因ですか? どうすればこれを回避できますか?
Fragments が ViewPager でどのように機能するかはまだよくわかっていないので、この解決策に Fragment ベースのメソッドへの切り替えが含まれる場合は、誰かが詳しく説明してくれると助かります。