BaseAdapter的用法

 

/*

BaseAdapter是Android应用程序中经常用到的基础数据适配器,它的主要用途是将一组数据传到像ListView、Spinner、Gallery及GridView等UI显示组件,它是继承自接口类Adapter,

一般 Spinner,ListView,GridView都有自己的适配器。但是BaseAdapter对他们来说却是通用的。因为BaseAdapter已经实现了ListAdapter和SpinnerAdapter的接口,而GridView的适配器是实现了ListAdapter接口,只不过是二维的。

*/

 

//   原理:http://www.cnblogs.com/xiaowenji/archive/2010/12/08/1900579.html

BaseAdapter ba=new BaseAdapter()
{
public int getCount()
{
return 5;
}
public Object getItem(int position)
{
return null;
}
public long getItemId(int position)
{
return 0;
}
public View getView(int arg0, View convertView, ViewGroup arg2)      //比较重要的方法
{

LinearLayout ll=new LinearLayout(Sample3_1_Activity.this);
ll.setOrientation(LinearLayout.HORIZONTAL);
ll.setPadding(5,5,5,5);

ImageView ii=new ImageView(Sample3_1_Activity.this);
ii.setImageDrawable(getResources().getDrawable(drawableIds[arg0]));
ii.setScaleType(ImageView.ScaleType.FIT_XY);
ii.setLayoutParams(new Gallery.LayoutParams(100,98));
ll.addView(ii);

TextView tv=new TextView(Sample3_1_Activity.this);
tv.setText(getResources().getText(msgIds[arg0]));
tv.setTextSize(24);
tv.setTextColor(Sample3_1_Activity.this.getResources().getColor(R.color.white));
tv.setPadding(5,5,5,5);
tv.setGravity(Gravity.LEFT);
ll.addView(tv);
return ll;
}
};
lv.setAdapter(ba);    //ListView每个Item的布局包含一个ImageView和一个TextView

你可能感兴趣的:(BaseAdapter的用法)