自定义adapter时getView方法返回null出现的异常

时间:2025-01-27 08:24:28

: Fragment Attempt to invoke virtual method ‘int ()’ on a null object reference
今天要在Fragment中展示一个列表数据,由于只是测试,所以在fragment的onCreateView回调方法中就直接模拟出数据,并使用listView展示。没想到遇到这个问题,没报出具体那一行的错误,也没指向是哪一个类抛出的异常,刚开始以为是activity载入fragment时,onCreateView返回的View为空了,但debug之后发现不是。然后又看了fragment中载入的其它控件,看见是不是有为空的,发现也不是。最后就只剩下adapter没有看了,就点进去看,这下傻眼了,果然就是adapter中出现的问题。
原因是我在重写getView方法时,直接返回值为null了。然而在抛出异常时,并没有直接定位到这一行代码,晕了!

    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        TextView tvDistance;
        if (convertView == null) {
            convertView = (.item_view, parent, false);
            tvDistance = (TextView) (.tv_distance);
            (tvDistance);
        } else {
            tvDistance = (TextView) ();
        }
        ...

        return null;//这里不能直接返回null
    }