首页 > 代码库 > Android:自定义适配器
Android:自定义适配器
无论是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; }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。