重写TextView的setText出现异常问题

Android 91es.com站长2023年3月11日 am8:08发布1年前 (2023)更新
0
导航号,我的单页导航
目录

前言

TextView重写setText(CharSequence text, BufferType type) 时出现如下异常日志(截取部分日志):

java.lang.NullPointerException: Attempt to invoke interface method 'int java.lang.CharSequence.length()' on a null object reference
        at android.text.BoringLayout.isBoring(BoringLayout.java:325)
        at android.widget.TextView.makeSingleLayout(TextView.java:8332)
        at android.widget.TextView.makeNewLayout(TextView.java:8204)
        at android.widget.TextView.onMeasure(TextView.java:8586)
        at androidx.appcompat.widget.AppCompatTextView.onMeasure(AppCompatTextView.java:554)
        at android.view.View.measure(View.java:23169)
        at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
        at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
        at android.view.View.measure(View.java:23169)
        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6749)
        at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)

正文

重写setText(CharSequence text, BufferType type) 是为了对比text,由于我加了判断添加,代码没有走

super.setText(text, type);

就出现这个问题。

解决方式,就是不论添加什么条件,一定要执行super.setText(text, type)。

参考文章

  1. android 9.0设备 android.text.BoringLayout.isBoring异常 - 简书 (jianshu.com)

版权声明 1、 本站名称 91易搜
2、 本站网址 https://www.91es.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权请留言
4、 本站禁止发布或转载任何违法的相关信息,如有发现请向站长举报
导航号,我的单页导航

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

暂无评论...