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.<init>(TstBindingImpl.java:33)

attrs.xml
<declare-styleable name="Plant_Input">
        <attr name="test" format="string|reference" />
</declare-styleable>  

@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();
    }
    ....
}


 <com.sinochem.argcx.sample.TFun
      android:id="@+id/TFun"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:test="你好啊啊"
      app:tst="@{data.name}" />

解決方案

1.setTag方法去掉,換個方法用
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容