您的位置:首页 > 移动开发 > Android开发

Android:自定义适配器

2015-10-07 22:35 429 查看
无论是ArrayAdapter还是SimpleAdapter都继承了BaseAdapter,自定义适配器同样继承BaseAdapter

实例:Gallery实现图片浏览器

<?xml version="1.0" encoding="utf-8"?>
<Gallery
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gallery"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

</Gallery>


 

public class MainActivity extends Activity {
private Gallery gallery;
private int[] res={R.drawable.ic_launcher,R.drawable.ic_launcher};
private ImageAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.demo);

gallery = (Gallery) findViewById(R.id.gallery);

adapter = new ImageAdapter(res, this);
gallery.setAdapter(adapter);

}

}


自定义的适配器

public class ImageAdapter  extends BaseAdapter{
public int res[];
private Context context;
public ImageAdapter(int res[],Context context){
this.res=res;
this.context=context;
}

@Override
//返回已定义数据源总数量
public int getCount() {
// TODO Auto-generated method stub
return res.length;
}

@Override
//告诉适配器取得目前容器中的数据对象
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
//告诉适配器取得目前容器中的数据ID
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}

@Override
//取得当前欲显示的图像View
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView image=new ImageView(context);
image.setBackgroundResource(res[position]);
image.setLayoutParams(new Gallery.LayoutParams(400,300));
image.setScaleType(ScaleType.FIT_XY);
return image;
}

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: