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方法去掉,換個(gè)方法用
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容