Android空引用问题的解决方法——on a null object reference

时间:2025-01-28 07:22:37

Android空引用问题的解决方法——on a null object reference

前言:今天写了一个小程序,自定义view组件,但是却怎么也运行不起来,一直空指针引用报错。

: Attempt to invoke virtual method ‘$FontMetrics ()’ on a null object reference

解决方法:

因为自定义View,有三个构造函数:

public SideBar(Context context) {
        super(context);
    }

    public SideBar(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public SideBar(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(attrs);
    }

我们只需把构造函数里的super(…);换成this(…);就可以解决空指针引用的问题。

public SideBar(Context context) {
        this(context,null);
    }

    public SideBar(Context context, @Nullable AttributeSet attrs) {
        this(context, attrs,0);
    }

    public SideBar(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(attrs);
    }