问题描述:运行代买是报空指针错误,java.lang.NullPointerException,at android.widget.ListView.setupChild
问题定位:listview控件报错,查找原因并没有问题,怀疑adapter设置item值时出错,检查代码,果然是这里报错
在设置完adapter的item值得时候,由于粗心,return convertView 时第一次返回成了 return null,导致了上述错误
public class CasesAdapter extends NormalListAdapter<Cases>{
private ViewHolder viewHolder = null;
private Context mCtc;
private static class ViewHolder {
public ImageView aImg;
public TextView aTitle;
public TextView aHits;
public TextView aTime;
}
public CasesAdapter(Context context, List<Cases> item) {
super(context, item);
// TODO Auto-generated constructor stub
mCtc = context;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//判断试图是否为空
if (convertView==null) {
//如果试图为空的情况下,加载试图页面
convertView=inflater.inflate(R.layout.list_item_cases, null);
// 实例化 ViewHolder
viewHolder = new ViewHolder();
// 设置viewholder中元素对应的控件
viewHolder.aImg=(ImageView) convertView.findViewById(R.id.imgs);
viewHolder.aTitle=(TextView) convertView.findViewById(R.id.msg_title);
viewHolder.aHits=(TextView) convertView.findViewById(R.id.msg_hit);
viewHolder.aTime=(TextView) convertView.findViewById(R.id.msg_time);
convertView.setTag(viewHolder);
}
else {
viewHolder=(ViewHolder) convertView.getTag();
}
Cases cs=itemContent.get(position);
//设置控件绑定的数值
viewHolder.aTitle.setText(cs.getTitle());
viewHolder.aHits.setText(cs.getHits());
viewHolder.aTime.setText(cs.getAddtime());
// 网络异步加载
ImageLoader.getInstance().displayImage("http://192.168.2.26:8012"+cs.getFilename(),
viewHolder.aImg, Define.options1,
new AnimateFirstDisplayListener());
return null;
}
}