android viewpage用法及适配器

1,定义adaoper(适配器)

public class viewPageAdapter extends PagerAdapter  {


private List<View> listView;
public viewPageAdapter(List<View>  listView ){

this.listView =  listView;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
((ViewPager)container).addView(listView.get(position));
Log.i("instantiateItem", "position="+position);

return listView.get(position);
}

@Override
public void destroyItem(View container, int position, Object object) {
// TODO Auto-generated method stub
Log.i("destroyItem", "position="+position);
((ViewGroup)container).removeView(listView.get(position));
}


@Override
public int getCount() {
// TODO Auto-generated method stub
return listView.size();
}


@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub


return arg0 == arg1;
}

}


2,layout中写布局,要导入v4包

<android.support.v4.view.ViewPager
      android:id="@+id/VP_viewpage"
      android:layout_width="match_parent"
     android:layout_centerHorizontal="true"
      android:layout_height="400dp" 
      android:focusable="false"
      android:layout_marginTop="190dp">    
    </android.support.v4.view.ViewPager>


3,activity中引用

/*viewpage*/
private ViewPager VP_viewpage;
private viewPageAdapter mViewPageAdapter;
private List<View> listVew;
private View page1;
private View RL_page1;
private View page2;
private View page3;
private View page4;
private int currentPage = 0;

/*初始化viewpage*/

private void viewpageListen(){

VP_viewpage = (ViewPager)findViewById(R.id.VP_viewpage);
VP_viewpage.setOnPageChangeListener(this);
VP_viewpage.setOnFocusChangeListener(this);

page1 = LayoutInflater.from(this).inflate(R.layout.page1, null);
page2 = LayoutInflater.from(this).inflate(R.layout.page2, null);
page3 = LayoutInflater.from(this).inflate(R.layout.page3, null);
page4 = LayoutInflater.from(this).inflate(R.layout.page4, null);

IM_first = (ImageView) page1.findViewById(R.id.IM_first);//对应的page中的控件找id

TV_inputSourceType = (TextView)page2.findViewById(R.id.TV_inputSourceType);

listVew= new ArrayList<View>();
listVew.add(page1);
listVew.add(page2);
listVew.add(page3);
listVew.add(page4);
mViewPageAdapter = new viewPageAdapter(listVew);
VP_viewpage.setAdapter(mViewPageAdapter);
VP_viewpage.setCurrentItem(0);

viewpageListen();

}


/*获取数据*/

private List<Map<String, Object>> getListviewData(){

listviewData = new ArrayList<Map<String,Object>>();
Map<String, Object> map;

for (int i = 0; i < img.length; i++) {//此处是一个image数组
map = new HashMap<String, Object>();
map.put("img", img[i]);
listviewData.add(map);
}

return listviewData;
}

/*viewpage内部控件监听*/

private void viewpageListen(){


IM_first.setOnClickListener(this);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值