查看寻呼机不会使好页面膨胀

时间:2012-05-04 09:23:00

标签: android android-viewpager

我正在尝试使用视图寻呼机制作图库。然而,它总是在位置1处的视图被更新,而我正在尝试更新当前页面(默认为0)。

首先,我创建了一个由寻呼机充气的视图。该视图由4个ImageView和4个textview组成。

然后我为寻呼机创建了一个适配器:

public class LivePagerAdapter extends PagerAdapter {

    private CameraList cameras = null;

    public LivePagerAdapter(CameraList cams)
    {
        this.cameras = cams;
    }

    @Override
    public int getCount() {
        return this.cameras.size() /4; // 4 imageview in a page
    }

    public void setCameras(CameraList cams)
    {
        this.cameras = cams;
    }

    @Override
    public Object instantiateItem(View container, int position) {
        LayoutInflater inflater = LayoutInflater.from(container.getContext());

        View view = inflater.inflate(R.layout.pager,null);
        ((ViewPager) container).addView(view,0);
        return view;
    }
}

最后在我的活动中,我正在设置这样的寻呼机:

adapter = new LivePagerAdapter(this.listeCamera);
pager = (ViewPager) findViewById(R.id.camspager);
pager.setAdapter(adapter);
pager.setCurrentItem(0);

之后我用我的4 imageview初始化一个数组:

tabImageView.add((ImageView) findViewById(R.id.cam1)); //Imageview located in the view loaded by the pager
tabImageView.add((ImageView) findViewById(R.id.cam2));
tabImageView.add((ImageView) findViewById(R.id.cam3));
tabImageView.add((ImageView) findViewById(R.id.cam4));

如果需要,我会在imageview中添加图片。

除了我要求寻呼机从位置0开始,这似乎是有效的,这是从我的图像更新的位置1的视图。

当我使用findViewById(somethingInflatedByThePager)我需要它作为当前页面时,我该怎么做?

1 个答案:

答案 0 :(得分:3)

如果您将((ViewPager) container).addView(view,0);替换为((ViewPager) container).addView(view);

,会发生什么情况