Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android数据绑定无法正常工作大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用 Android数据绑定做一个简单的测试示例.我只想在我的片段中显示名为“title”的EditText中的文本“test”,但是这个文本没有显示出来.这是我的代码

TestVm.java

public class TestVM extends BaSEObservable {

    public TestVM() {}

    @Bindable
    public String getText() {
        return "test";
    }
}

fr_login.xml

<layout xmlns:android="http://scheR_82_11845@as.android.com/apk/res/android">

<data>
    <variable
        name="test"
        type="de.theappguys.templateandroid.viewmodel.TestVM"/>
</data>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:BACkground="@android:color/transparent"
    >

 <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="20dp"
            android:text="@{test.text}"
            android:textSize="22sp"
            android:textStyle="bold"
            android:textColor="@android:color/black"
            />

</RelativeLayout>
</layout>

FrLogin.java

@EFragment
public class FrLogin extends Fragment {

...

 @Override
public View onCreateView(Lay@R_674_9981@nflater inflater,ViewGroup container,Bundle savedInstanceStatE) {
    FrLoginBinding binding = DataBindingUtil.inflate(inflater,R.layout.fr_login,container,falsE);

    return binding.getRoot();
}

...

的build.gradle

android {

.....

   dataBinding {
       enabled = true
   }

....
}

解决方法

你需要为绑定设置值
FrLoginBinding binding = DataBindingUtil.inflate(inflater,falsE);
binding.setTest(new TestVM());

代码问题在于您的模型与Fragment之间没有任何关联.

大佬总结

以上是大佬教程为你收集整理的Android数据绑定无法正常工作全部内容,希望文章能够帮你解决Android数据绑定无法正常工作所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。