1
我正在嘗試使用視圖傳呼機來創建一個圖庫。儘管如此,它始終是位置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)
我需要它是當前頁面,我該怎麼做?
這麼簡單,由於更換
((ViewPager) container).addView(view,0);
會發生什麼! – grunk它可以幫助你的耳朵。不要忘記,如果你使用eclipse,當你把光標放在一個方法上時,你可以有如下的快速描述:void android.view.ViewGroup.addView(View child,int index) public void addView(View child ,int index) 從以下版本開始:API級別1 添加子視圖。如果沒有設置佈局參數,則此子視圖的默認參數設置在該子級上。 參數 **孩子\t要添加的子視圖** **索引\t要添加孩子的位置** –