如何在数据绑定中使用kotlin.Int?

时间:2018-11-02 05:59:39

标签: android kotlin android-databinding

我写了一个布局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&lt;Int,String&gt;" />
  </data>

<!-- ...... -->    

</layout>

是否可以在android数据绑定xml中使用kotlin内置函数?

2 个答案:

答案 0 :(得分:0)

  • 使用Java Integer代替kotlin Int
  • 您不能在XML中使用字符<,>等。因此,请使用HTML entities

喜欢

ObservableArrayMap&lt;Integer,String&gt;

答案 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);
   }
}