Adapter的getView方法返回了null

Android  小知识  2021年12月7日 pm12:12发布3年前 (2021)更新 城堡大人
99 0 0

前言

这个是很简单的问题,就是适配器(比如BaseAdapter)中的getView()返回了null,是如下:

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
         // ...
        return null;
    }

修改方法就是返回初始化过的convertView

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
         // ...
        return convertView;
    }

这个都是自己粗心大意导致的,记录于此,以示警戒。

正文

下面是异常的日志打印:

11-22 23:35:00.404 25866 25866 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.AbsListView.obtainView(AbsListView.java:2383)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.ListView.makeAndAddView(ListView.java:2052)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.ListView.fillDown(ListView.java:786)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.ListView.fillFromTop(ListView.java:847)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.ListView.layoutChildren(ListView.java:1826)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.AbsListView.onLayout(AbsListView.java:2165)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.View.layout(View.java:20672)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.View.layout(View.java:20672)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.View.layout(View.java:20672)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.View.layout(View.java:20672)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.View.layout(View.java:20672)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at androidx.appcompat.widget.ActionBarOverlayLayout.onLayout(ActionBarOverlayLayout.java:536)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.View.layout(View.java:20672)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.View.layout(View.java:20672)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
11-22 23:35:00.404 25866 25866 E AndroidRuntime:        at android.view.View.layout(View.java:20672)

参考文章

抱歉。由于之前忘记备注,无法回忆看到谁的文章了。

 历史上的今天

  1. 2023: Activity的Context介绍(0条评论)
  2. 2022: Android xml中selector配置选中按下等状态的透明度值(0条评论)
  3. 2019: 茅盾:白杨礼赞(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

C语言中的类型定义符typedef简单介绍

前言typedef的使用忘了差不多了,这里回顾一下。正文C语言不仅仅提供了丰富的类型,而且还允许由用户自己定义类型说明符,也就是有用户为数据类型取“别名”。给用户数据取别名是有typedef还完成的。用typedef定义数组、指针、结构体等类型可以带来很大的方便,不仅书写简单而且...

git diff提示filemode发生改变

在使用git的时候遇到的,因此摘抄于此。今天clone代码,git status显示修改了大量文件,git diff提示filemode变化,如下:diff --git a/Android.mk b/Android.mkold mode 100644new mode 100755原...

adb shell dumpsys audio使用

前言工作中也常用到Android的shell命令adb shell dumpsys audio至于这个命令能做啥,接下来我们简单的讲解一下PS : 本文在Android 9.0上测试的,4.2时dumpsys audio不一定有这么多信息正文dumpsys audio出来的信息有很...

Android获取使用MediaBrowserService的app

前言简单记录一下获取Android中使用MediaBrowserService的的音乐信息,然后进行绑定,这样就可以控制相关应用,比如上下曲,播放暂停等。正文这里只是简单记录,部分代码片段。PackageManager packageManager = getPackageManager(...

李娟:冬天的牛

我端着满满一纸箱子垃圾,向马路尽头的垃圾堆走去。半路上,路过的一头牛看了我一眼,然后立刻两眼发光──当时我还以为是错觉,也没管那么多,继续往前走。那牛则从栏杆那边绕过来,寸步不离跟着我,而且愈发加快了速度,想超过我。真是奇怪。远远地,马路南边又有两头牛几乎在同一时间发现了我,也争先恐后跑来了。我扭...

莎士比亚:你的长夏永远不会凋谢

我怎能够把你来比拟作夏天?你不独比他可爱也比他温婉;狂风把五月宠爱的嫩蕊作践夏天出赁的期限又未免太短;天上的眼睛有时照得太酷烈,他那炳耀的金颜又常遭掩蔽;给机缘或无偿的天道所摧残,没有芳颜不终于凋残或销毁。但你的长夏将永远不会凋落,也不会损失你这皎洁...