我写了一个布局xml,如下所示。
但是Kotlin编译器说Cannot resolve symbol 'Int'
main_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<layout ...>
<data>
<import type="androidx.databinding.ObservableArrayMap" />
<variable
name="myList"
type="ObservableArrayMap<Int,String>" />
</data>
<!-- ...... -->
</layout>
是否可以在android数据绑定xml中使用kotlin内置函数?
答案 0 :(得分:0)
Integer
代替kotlin Int
。 喜欢
ObservableArrayMap<Integer,String>
答案 1 :(得分:0)
您可以添加数据绑定的简单方法。
配置您的应用程序以使用数据绑定:
打开app / build.gradle,然后必须在gradle和同步项目的android标签中添加以下代码行
UPDATE link l
SET l.dept_unid = (SELECT dept_unid FROM dept
WHERE dept_name = 'IMPORTS')
WHERE l.emp_unid = (select e.emp_unid
from emp e
where e.last_name IN ('FERGUSON', 'MALONE'))
数据绑定中的布局和绑定表达式:
打开布局(XML)文件activity_main,并用布局标签替换根,然后将所有标签放入布局标签中。
dataBinding {
enabled = true
}
在活动中将传统的setContentView()替换为DataBindingUtil.setContentView():
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<RelativeLayout>
<layout>
让我们看看如何使用数据绑定将数据与Views和Widget绑定
public class MainActivity extends AppCompatActivity {
ActivityMainBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
}
}