java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int android.view.View.getBottom()”
某些视图变得为空导致NullPointerException
打电话时getBottom()
就这个观点而言。
因此,当应用程序在本地运行时不会出现此问题;但不是远程,所以答案将是一种猜测。
假设1: getView
返回空值。
Reason: convertView
被标记为@Nullable
,所以可以是null
从一开始,如果条件可以保持为空if(getItem(position)!= null)
没有满足;因此getView()
可以返回一个null View
.
推荐:你需要确保getView
无法通过设置返回空值convertView
之外的值if
条件如下面的代码片段。
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
if (converView == null) {
convertView = inflater.inflate(resource, parent, false);
}
假设2: convertView
该表达式为 nullconvertView = inflater.inflate(resource, parent, false);
Reason:您没有从您获得的地方提供resource
你传递给的参数inflate()
;也许它是一个可以改变多个值的变量值;其中之一可以为空;因此使得convertView
也为空。
推荐:
If the resource
是不可更改的,您可以通过将其值设置为硬编码R.layout.list_row
; where list_row
是列表项的 xml 布局。
如果它是可变的,则调试它的值以确保它无论如何都不能为空。