gpt4 book ai didi

java - CustomArrayAdapter android 空指针异常

转载 作者:太空宇宙 更新时间:2023-11-04 14:11:31 24 4
gpt4 key购买 nike

谁能告诉我为什么我在构造函数中的 super 方法上遇到空指针异常?

在 super 中总是遇到空指针异常,但 context 和 HistoryItems 不为 null。

public class HistoryItemAdapter extends ArrayAdapter<HistoryItem> {

Context context;
HistoryItem[] historyItems=null;

public HistoryItemAdapter(Context context, HistoryItem[] historyItems) {
super(context,R.layout.list_history_single,historyItems); //Exception Here
this.context = context;
this.historyItems = historyItems;
}

private class ViewHolder {
TextView historyName;
TextView historyTitle;
ImageView historyImage;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if(convertView==null) {
viewHolder = new ViewHolder();
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
convertView = inflater.inflate(R.layout.list_history_single,null);
viewHolder.historyName = (TextView) convertView.findViewById(R.id.history_name);
viewHolder.historyTitle = (TextView) convertView.findViewById(R.id.history_title);
viewHolder.historyImage = (ImageView) convertView.findViewById(R.id.history_image);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
HistoryItem historyItem = historyItems[position];

viewHolder.historyImage.setImageBitmap(historyItem.bitmap);
viewHolder.historyName.setText(historyItem.name);
viewHolder.historyTitle.setText(historyItem.title);

return convertView;
}
}

最佳答案

您在适配器中传递的值为空,因为

  1. 您尚未初始化它。
  2. 初始化是在后台操作中完成的,该操作在 ListView 中分配适配器后调用。

像这样初始化你的变量

HistoryItem[] historyItem = new HistoryItem[size];

当您下载完数据后,请调用此

adapter.notifyDataSetChanged();

但似乎您在开始下载之前不知道大小。在这种情况下,您可以移动此代码

adapter = new HistoryItemAdapter(context,historyItem);
listView = (ListView) reportHistory.findViewById(R.id.list_history);
listView.setAdapter(adapter);

在你的方法done()中,它是后台任务的回调。

关于java - CustomArrayAdapter android 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28266170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com