【发布时间】:2021-06-12 07:31:30
【问题描述】:
我正在尝试使用数据绑定将数据对象绑定到我的布局。但我收到类型不匹配的错误。而且我不明白原因,因为我是数据绑定的新手。 我的代码很简单,希望有人能指导我理解我的错误。
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private var myName : MyName = MyName("Ahmed Rabee")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
binding.myName.text = myName.name
}
数据类
data class MyName(var name: String = "" , var nickName: String = "")
布局
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
>
<data>
<variable
name="myName"
type="com.example.aboutme.MyName" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/my_name"
style="@style/name_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@{myName.name}"
/>
这是我遇到的错误,我完全不明白为什么它说类型不匹配。
我试图将它切换到这个 sn-p 代码,但它不起作用。因为它没有在布局上显示任何数据。
binding.myName.text = myName.name
希望有人可以指导我。我的错在哪里
【问题讨论】:
标签: android visual-studio kotlin data-binding