Adapter的getView方法返回了null

Android  小知识  2021年12月7日 pm12:12发布3年前 (2021)更新 91es.com站长
77 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、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

[代码片段]Android像素转换工具类

前言移动项目需要根据设备进行适配,这个还是很有用的,摘抄于此,方便自己查阅。正文public class DensityUtil { public static int dip2px(float dpValue) { return (int) (dpValue * R...

朱自清:正义

正义是在我们心理!从明哲的教训和见闻的意义中,我们不是得着大批的正义么?但白白的搁在心里,谁也不去取用,却至少是可惜的事。两石白米搁在屋里,总要吃它干净,两箱衣服堆在屋里,总要轮流穿换,一大堆正义却扔在一旁,满不理会,我们真大方,真舍得!看来正义这东西也真*,竟抵不上白米的一个尖儿,衣服的一个扣儿。...

林语堂:有丰富的心灵才有悠闲的生活

中国人之爱悠闲,有着很多交织着的原因。中国人的性情,是经过了文学的熏陶和哲学的认可。这种爱悠闲的性情是由于酷爱人生而产生,并受了历代浪漫文学潜流的激荡,最后又由一种人生哲学—大体上可称它为道家哲学—承认它为合理近情的态度。中国人能囫囵地接受这种道家的人生观,可见他们的血液中原有着道家哲学的种子。有...

刘半农:落叶

秋风把树叶吹落在地上,它只能悉悉索索,发几阵悲凉的声响。 它不久就要化作泥;但它留得一刻,还要发一刻的声响,虽然这已是无可奈何的声响了,虽然这已是它最后的声响了。1919

Android P修改系统默认字体

前言偶尔项目中需要改变系统默认字体或者新增字体,今天有空就记录一下,方便学习。正文涉及修改的目录:frameworks\base\data\fonts涉及到修改的文件:frameworks\base\data\fonts\Android.mkframeworks\base\da...

Seekbar的setThumb使用记录

前言记录一下SeekBar代码设置setThumb的使用。正文xml中Seekbar的配置 <SeekBar android:id="@+id/seek_bar_1" android:layout_width="920dp...