本文章实现了listView和RecyclerView数据的修改和增加,同时运用了databinding进行数据绑定以及事件绑定
先看一张效果图

现在就贴上源码
首先在app下的build.gradle下添加相关依赖,值得注意的是databinding是添加到android代码段的
//databinding
dataBinding {
enabled = true
}
//recycleView
implementation 'androidx.recyclerview:recyclerview:1.1.0'
主程序就放了两个按钮,用于事件的跳转
MainActivity.kt
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.databinding.DataBindingUtil
import com.yang.databindingdemo.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var bindingData: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//实例化dataBinding
bindingData = DataBindingUtil.setContentView(this,R.layout.activity_main)
//绑定事件
bindingData.setOnClick=MainActivity_OnClick(this)
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android">
<!--注册绑定数据类-->
<data>
<variable
name="setOnClick"
type="com.yang.databindingdemo.MainActivity_OnClick" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:id="@+id/bt_lv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="listView"
android:textAllCaps="false"
android:onClick="@{setOnClick.onClick}"
/>
<Button
android:id="@+id/bt_rv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="recyclerView"
android:textAllCaps="false"
android:onClick="@{setOnClick.onClick}"
/>
</LinearLayout>
</layout>
我特意为MainActivity里面的按钮设置了一个单独的监听事件,这也是databinding的强大之处,视图和逻辑完全分离
MainActivity_Onclick.kt
import android.app.Activity
import android.content.Intent
import android.view.View
import com.yang.databindingdemo.list

本文通过实战演示如何使用DataBinding简化ListView和RecyclerView的数据绑定过程,并展示如何高效地修改和添加数据。
最低0.47元/天 解锁文章
942





