3

こんにちは、View Pager と PagerAdapter を使用しています。PagerAdapter では、'instantiateItem()' が最初に 2 回呼び出されます。

これを解決するのを手伝ってください。

前もって感謝します。

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.first_template;
            break;
        }
        case 1: {
            resId = R.layout.second_template;
            break;
        }
        case 2: {
            resId = R.layout.third_template;
            break;
        }
        case 3: 
            resId = R.layout.first_template;
            break;
    }
    View view = inflater.inflate(resId, null);
    ((ViewPager)collection).addView(view, 0);
    return view;
}

@Override
public void destroyItem(View view, int arg1, Object arg2) {
    ((ViewPager) view).removeView((View) arg2);
}

@Override
public boolean isViewFromObject(View view, Object obj) {
    return view == ((View) obj);

}

@Override
public Parcelable saveState() {
    return null;
}

@Override
public int getCount() {
    return 4;
}

public class PageViewActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_page_view);
        PageAdapter adapter = new PageAdapter();
        ViewPager myPager = (ViewPager) findViewById(R.id.viewpager);
        myPager.setAdapter(adapter);
        myPager.setCurrentItem(0);
    }
}
4

0 に答える 0