: 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
}