谁能简单的介绍下适配器的工作原理?
public class ImageAdapter extends BaseAdapter
{
private Context mContext;
private Integer[] mImageIds =
{
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4,
R.drawable.img5,
R.drawable.img6,
R.drawable.img7,
R.drawable.img8,
};
public ImageAdapter(Context c)
{
mContext = c;
}
public int getCount()
{
System.out.println("-------------------------------getCount: " + mImageIds.length);
return mImageIds.length;
}
public Object getItem(int position)
{
System.out.println("----------------------getItem");
return position;
}
public long getItemId(int position)
{
System.out.println("--------------------getItemId");
return position;
}
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageview = null ;
if(convertView == null){
imageview = new ImageView(mContext) ;
System.out.println("------------------------1");
}
else{
System.out.println("------------------------2") ;
imageview = (ImageView)convertView ;
}
imageview.setImageResource(mImageIds[position]);
imageview.setLayoutParams(new Gallery.LayoutParams(120, 120));
imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
System.out.println("----------------3");
return imageview;
}
}
运行后打出的结果是:
-------------------------------getCount: 8
-------------------------------getCount: 8
--------------------getItemId
--------------------getItemId
------------------------1
----------------3
--------------------getItemId
------------------------1
----------------3
------------------------1
----------------3
--------------------getItemId
点击第二张图片打印出:
--------------------getItemId
------------------------1
----------------3
--------------------getItemId
--------------------getItemId
谁能告诉我它是怎么得来的,想学得明白点!!!