gpt4 book ai didi

java - Android ListAdapter 显示正确,但随后给出 NullPointer。为什么?

转载 作者:行者123 更新时间:2023-12-01 23:14:08 25 4
gpt4 key购买 nike

我正在尝试在我的 Android 应用程序中构建一个简单的列表适配器。我让它正确显示项目列表,但奇怪的是,在列表显示后,我得到一个空指针并且应用程序崩溃。看到适配器相当简单,我不知道我在这里做错了什么。

在我的适配器下面。 Nullpointer 出现在 getView 方法中的 holder.points.setText("123");

行处
public class QuestionAdapter extends BaseAdapter {

private List<Question> data = new ArrayList<Question>();
private Context context;

public QuestionAdapter(Context context) {
this.context = context;
}

@Override
public int getCount() {
return data.size();
}

private class ViewHolder {
TextView points;
TextView title;
}

public void setList(List<Question> questionList) {
this.data = questionList;
}

@Override
public View getView(int position, View convertView, ViewGroup viewGroup) {
Question question = getItem(position);

ViewHolder holder = new ViewHolder();
if (convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.list_item_question, null);
holder.points = (TextView) convertView.findViewById(R.id.text_question_points);
holder.title = (TextView) convertView.findViewById(R.id.text_question_title);
} else {
holder = (ViewHolder) convertView.getTag();
}

holder.points.setText("123");
holder.title.setText(question.title);

return convertView;
}

@Override
public long getItemId(int i) {
return 0;
}

@Override
public Question getItem(int i) {
return data.get(i);
}
}

最佳答案

您没有在任何地方执行convertView.setTag(holder)

当你这样做时的结果

 holder = (ViewHolder) convertView.getTag();

holder 将为 null,它会给你一个 NullPointerException

关于java - Android ListAdapter 显示正确,但随后给出 NullPointer。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21477657/

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