チュートリアルから取得したコードを使用した実際のビューページャーの例があります。このチュートリアルは、明らかに専門家である Lauren Darcey と Shane Conder によって書かれました (私は Android の初心者です)。コードは以下に貼り付けます。このコードが行っていることは、ユーザーが水平方向にスワイプすると、膨張 (前方) と破壊 (後方) です。5ページしかありません。それらをすべて膨らませてから、膨らませたり破壊したりせずにユーザーにすべてのスワイプをさせる方がはるかに賢明だと思われます。1 つの大きな幅の広いページ (Windows Phone 7 の Panarama コントロールと Pivot コントロールなど) のように。
また、ページの 1 つに Google マップがある場合、このコードは失敗します。2 回目のインフレーションで吹き飛ばされます (理由はまだわかりません)。
このようにしなければならない理由はありますか?私が提案する方法で利用できる例はありますか? ありがとう、ゲイリー・ブレイクリー
private class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 5;
}
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.farleft;
break;
case 1:
resId = R.layout.left;
break;
case 2:
resId = R.layout.middle;
break;
case 3:
resId = R.layout.right;
break;
case 4:
resId = R.layout.farright;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}