public class CyCameraAdapter extends ArrayAdapter<Bitmap>{
private int mResourceId;
private List<Bitmap> listBitmap;
private LayoutInflater mLayoutInflater;
public CyCameraAdapter(Context context, int imgViewResourceId, List<Bitmap> listBitmap) {
super(context, imgViewResourceId, listBitmap);
this.mResourceId = imgViewResourceId;
mLayoutInflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Bitmap bitmap = getItem(position);
RelativeLayout userListItem = new RelativeLayout(getContext());
LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(mResourceId, userListItem,true);
ImageView image = (ImageView) view.findViewById(R.id.cameraImage);
image.setImageBitmap(bitmap);
return view;
}
}
public class EnterpriseListAdapter extends ArrayAdapter<EnterpriseInfo>{
private int resourceId;
public EnterpriseListAdapter(Context context, int resource, List<EnterpriseInfo> objects) {
super(context, resource, objects);
this.resourceId = resource;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
EnterpriseInfo enterprise = getItem(position);
View view;
ViewHolder holder;
if(convertView == null){
view = LayoutInflater.from(getContext()).inflate(resourceId,null);
holder = new ViewHolder();
holder.enterpriceName = (TextView) view.findViewById(R.id.ent_info_name);
holder.person = (TextView) view.findViewById(R.id.tv_person);
holder.address = (TextView) view.findViewById(R.id.tv_address);
view.setTag(holder);
}else{
view = convertView;
holder = (ViewHolder) view.getTag();
}
holder.enterpriceName.setText(enterprise.getCompanyName());
holder.person.setText(enterprise.getPerson());
holder.address.setText(enterprise.getAddress());
return view;
}
class ViewHolder{
TextView enterpriceName;
TextView person;
TextView address;
}
}
NULLPointException:
1. 在对控件实例化的时候经常忘写view.findViewById。
2. inflate(resourceId,null)------有时会写成R.layout布局文件。
RuntimeException: android.widget.LinearLayout cannot be cast to android.widget.TextView
1.每次重写getView()方法时,系统会默认给出super(); -------解决办法:需要去除这行。。