[英]Custom BaseAdapter null pointer
我在lv1.setAdapter(myAdapter)
處lv1.setAdapter(myAdapter)
了一個空ponter,我不知道為什么。 有人可以看到什么問題嗎?
我正在嘗試取得兩行清單
MyActivity.class
final ListView lv1 = (ListView) findViewById(R.id.ListView01);
Log.d("",topicTitle.toString() + "----------" + topicAuthor.toString()); //not null
MyCustomBaseAdapter myAdapter = new MyCustomBaseAdapter(DiscussionTopics.this, topicTitle , topicAuthor);
lv1.setAdapter(myAdapter);
MyCustomBaseAdapter.class
public class MyCustomBaseAdapter extends BaseAdapter {
private static ArrayList<String> topics;
private static ArrayList<String> author;
private LayoutInflater mInflater;
public MyCustomBaseAdapter(Context context, ArrayList<String> topics, ArrayList<String> author ) {
this.topics = topics;
this.author = author;
mInflater = LayoutInflater.from(context);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.custom_row_view, null);
holder = new ViewHolder();
holder.title = (TextView) convertView.findViewById(R.id.title);
holder.author = (TextView) convertView.findViewById(R.id.author);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.title.setText(topics.get(position));
holder.author.setText(author.get(position));
return convertView;
}
static class ViewHolder {
TextView title;
TextView author;
}
public int getCount() {
// TODO Auto-generated method stub
return topics.size();
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return topics.get(position);
}
}
因此,您永遠不會在R.id.ListView01
上獲得處理程序
final ListView lv1 = (ListView) findViewById(R.id.ListView01);
確保在此行之前調用setContentView()並為其提供包含R.id.ListView01
的布局
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.