[英]How does data-binding work in the Android IDE?
数据绑定在Android IDE中如何工作? 什么是幕后流程?
为了弄清楚我在说什么,这个人试图解释它,但是对此做了“ eh”的工作。 我不太了解他。
什么是数据绑定?
数据绑定的原理是同步两个对象,以便它们保存相同的信息。 从UI对象更改到下划线对象,这两个方向都可以使用,反之亦然。 在我们的示例XML和android中,经常在两种不同的语言之间使用数据绑定。 数据绑定库提供了将数据和变量导入XML的所有必要方法。
数据绑定的优点是活动代码不太混乱,并且避免了Null指针,这是因为调用了未由框架创建或尚未破坏的视图。
在本示例中,您将看到如何准备活动的XML,以准备对象和辅助方法。
<data>
<!-- Import helper Method (static)-->
<import type="com.applications.startroutineactivity.helper.classes.Helper_MillisToString"/>
<!-- Prepare variable-->
<variable
name="Activity_Day"
type="com.applications.startroutineactivity.data_types_and_adapter.Obj_ActivityDay"/>
</data>
<!-- this is an example how to use the object in xml-->
<TextView
android:id="@+id/tv_TakeTime_CurrentShownDateDateFormat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_alignTop="@+id/tv_TakeTime_UserHint"
android:clickable="true"
android:enabled="true"
android:hint="12.01.2018"
android:onClick="oc_tv_TakeTime_CurrentShownDateDateFormat"
android:text="@{Helper_MillisToString.getStringOutMillis(Activity_Day.getActivity_Day())}"
android:textColor="@color/Mercedes_WHITE"
android:textColorHint="@color/Mercedes_GREY"
android:textSize="@dimen/dim_TextSize_Normal_Big"
app:layout_constraintBottom_toBottomOf="@+id/bt_TakeTime_nextDate"
app:layout_constraintStart_toEndOf="@+id/bt_TakeTime_lastDate"
app:layout_constraintTop_toTopOf="@+id/bt_TakeTime_nextDate"/>
在您的活动班级中使用此命令:
ActivityTaketimeBinding mainBinding; //This always refers to the layout file name "_" turns into upperCase
//Use this in onCreate()
mainBinding = DataBindingUtil.setContentView(this, R.layout.activity_taketime);
//Use this to set an object
mainBinding.setActivityDay();//.setXXX is referring to the name of the variable in the XML file.
要启用数据绑定,请将其添加到build.gradle文件中。
dataBinding {
enabled =true
}
buildToolsVersion '28.0.3'
同步,清除和重建。 另外,请确保已安装Sdk管理器中的所有支持程序包。
使用本教程非常好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.