尝试转换行的自定义视图时出现NullPointerException错误

时间:2014-06-11 17:41:22

标签: java android android-listview nullpointerexception android-custom-view

在片段上我得到了这个:

public void onScroll(AbsListView view, int firstVisibleItem,
        int visibleItemCount, int totalItemCount) 
{
     CommentItem rowView = (CommentItem) list.getChildAt(firstVisibleItem);
     rowView.hola();
}

每个listview行都是一个名为CommentItem的自定义视图,我将该行转换为此自定义视图。我想要的是调用方法hola(),但我得到以下错误:

06-11 19:28:27.418: E/AndroidRuntime(12133): java.lang.NullPointerException
06-11 19:28:27.418: E/AndroidRuntime(12133):    at com.devyanlab.qoment.fragments.CommentsFragment.onScroll(CommentsFragment.java:243)

第243行rowView.hola();;

我不确定这是否是获得行观点的正确方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果你看看getChildAt背后的代码,你会看到这个

public View getChildAt(int index) {
    if (index < 0 || index >= mChildrenCount) {
        return null;
    }
    return mChildren[index];
}

现在这与ListView完全没有关系。

你应该没有理由在滚动方法中获得View后面的一行,你应该使用你的Adapter和getView方法。

相关问题