DataBinding自定义View空指针问题

xxx.setTag(java.lang.Object)' on a null object reference
09-09 09:20:28.820  5124  5124 E AndroidRuntime:    at com.sinochem.argcx.sample.databinding.TstBindingImpl.(TstBindingImpl.java:33)

attrs.xml

        
  

@BindingMethods({
        @BindingMethod(
                type = TFun.class,
                attribute = "tst",
                method = "setLeft1Text")
})
public class TFun extends LinearLayout {
    public String left1Text;
    public void setLeft1Text(String left1Text) {
        this.left1Text = left1Text;
        if (mTest != null) {
            mTest.setText(left1Text);
        }
    }
    public void tryParse(Context context, AttributeSet attrs) {
        if (attrs == null) {
            return;
        }
        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.Plant_Input);
        String left1Text = a.getString(R.styleable.Plant_Input_test);
        if (mTest1 != null) {
            mTest1.setText(left1Text);
        }
        a.recycle();
    }

   
    //==============问题原因==============
    public String tag;
    @Override
    public String getTag() {
        return TextUtils.isEmpty(tag) ? "" : tag;
    }
    //================================
    public TFun(Context context) {
        super(context);
        init();
    }
    ....
}


 

解决方案

1.setTag方法去掉,换个方法用

你可能感兴趣的:(DataBinding自定义View空指针问题)