zoukankan      html  css  js  c++  java
  • Android Kotlin 数据驱动模板

    Android开发人员文档:

    1. 搭建环境build.gradle:app

    apply plugin: "kotlin-kapt"
    
    android {
        ...
        dataBinding {
            enabled = true
        }
    }
    

    2. 使用 layout data绑定你的视图

    <?xml version="1.0" encoding="utf-8"?>
    
    <layout>
        <data>
            <variable name="data" type="com.ajanuw.androiddemo.data.MyData" />
        </data>
        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent" android:orientation="vertical">
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="22dp"
                android:text="@{data.name}" />
    
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="22dp"
                android:text="@{String.valueOf(data.age)}" />
    
            <Button
                android:id="@+id/button"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:onClick="@{data::onClickFriend}"
                android:text="Button" />
        </LinearLayout>
    </layout>
    

    main.kt

    package com.ajanuw.androiddemo
    
    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    import androidx.databinding.DataBindingUtil
    import com.ajanuw.androiddemo.data.MyData
    import com.ajanuw.androiddemo.databinding.ActivityMainBinding
    
    class MainActivity : AppCompatActivity() {
        // 创建绑定类
        private  lateinit var b: ActivityMainBinding
        lateinit var data: MyData
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            b = DataBindingUtil.setContentView(this, R.layout.activity_main)
            data =  MyData()
            b.data = data
        }
    }
    

    myData.kt

    package com.ajanuw.androiddemo.data
    
    import android.R.attr.name
    import android.view.View
    import androidx.databinding.BaseObservable
    import androidx.databinding.Bindable
    import com.ajanuw.androiddemo.BR
    
    
    class MyData() : BaseObservable() {
        @Bindable
        var name = "you name"
    
        @Bindable
        var age = 12
    
        fun onClickFriend(view:View) {
            name = "hello world"
            age = 22
            notifyPropertyChanged(BR._all)
        }
    }
    
  • 相关阅读:
    Commix命令注入漏洞利用
    漏洞扫描
    信息搜集神器
    peepingtom
    自动化安装一些渗透工具的脚本
    MITMF
    Xssf配合metaspolit使用
    Beef安装与简单使用
    Linux安全检测常用方法
    cobaltstrike3.8服务器搭建及使用
  • 原文地址:https://www.cnblogs.com/ajanuw/p/11890510.html
Copyright © 2011-2022 走看看