9

したがって、基本的には、ViewPager内のページにビュー位置ごとに個別のXMLレイアウトを入力する必要があります。私は現在これをやっています

@Override
    public Object instantiateItem(View container, int position) {

        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE);

        if(position == 0){
        view = inflater.inflate(R.layout.main, null);
        ((ViewPager) container).addView(view, 0);
        }
        if(position == 1){
            view = inflater.inflate(R.layout.main_second, null);
            ((ViewPager) container).addView(view, 0);
        }
        if(position == 2){
            view = inflater.inflate(R.layout.main_third, null);
            ((ViewPager) container).addView(view, 0);
        }

        return view;
}

ビューは最初は正しく表示されますが、ViewPagerをスワイプすると、レイアウトが非表示/破棄されます。どうしてこれなの?私はそれを間違った方法でやっていますか?私を助けて訂正してください。

ありがとう。愛する。ウェズリー

4

1 に答える 1

18

すべてをまとめる方法に関する優れたチュートリアルについては、このリンクを確認してください。基本的には、新しく膨張したビューを ViewPager コレクションに追加する必要があります。

View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
于 2012-10-14T03:48:35.100 に答える