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

标签 java android nullpointerexception listadapter

我正在尝试在我的 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/

相关文章:

java - 如何在 GWT 中取消转义字符串

java - 模拟服务抛出 nullPointerException

java - Jackson - 如何基于 json 内容应用自定义反序列化?

android - 如何从属性引用中检索可绘制对象

java - ReflectionUtil getField 抛出 NullPointerException

java - 通过 JSTL 在 JSP 页面上显示 ArrayList

java - 简单的 XML 反序列化

android - 在 Fragment 中加载 map

java - SingleView ImageLoader 显示 NullPointerException

java - 如何初始化类的对象?