本文介绍了Listview.setadapter提高空指针异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在code是如下
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent i = getIntent();
ArrayList<String> imageUrl = i.getStringArrayListExtra("ImageUrl");
String[] companyImageUrl = imageUrl.toArray(new String[0]);
ListView companyList = null;
LazyAdapter companyListViewAdapter;
companyList = (ListView)findViewById(R.id.companylist);
companyListViewAdapter = new LazyAdapter(companyListView.this , companyImageUrl);
try {
companyList.setAdapter(companyListViewAdapter);//exception here
} catch (Exception e) {
System.out.println(e);
}
setContentView(R.layout.company_list);
}
编辑:Lazyadapter code添加
Lazyadapter code added
public class LazyAdapter extends BaseAdapter {
private Activity activity;
private String[] data;
private static LayoutInflater inflater=null;
public ImageLoader imageLoader;
public LazyAdapter(Activity a, String[] d) {
activity = a;
data=d;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader= new ImageLoader(activity.getApplicationContext());
}
public int getCount() {
return data.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public static class ViewHolder{
public TextView text;
public ImageView image;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
ViewHolder holder;
UrlList urlList;
urlList = XMLParser.urlList;
if(convertView==null){
vi = inflater.inflate(R.layout.item, null);
holder=new ViewHolder();
holder.text=(TextView)vi.findViewById(R.id.text);;
holder.image=(ImageView)vi.findViewById(R.id.image);
vi.setTag(holder);
}
else
holder=(ViewHolder)vi.getTag();
String[] categoryNameStrings = urlList.getCategoryName().toArray(new String[0]);
holder.text.setText(categoryNameStrings[position]);
holder.image.setTag(data[position]);
imageLoader.DisplayImage(data[position], activity, holder.image);
return vi;
}
}
推荐答案
使用<$c$c>setContentView(R.layout.company_list);$c$c>after<$c$c>super.onCreate(savedInstanceState);$c$c>
这篇关于Listview.setadapter提高空指针异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!