• Android的Databinding-数据、Map绑定


    本节主要说Collection的字符串数组、List、SparseArray、Map的绑定。先看看xml的布局。

     1 <layout xmlns:android="http://schemas.android.com/apk/res/android">
     2 
     3     <data class="CollectionsBinding">
     4         <import type="java.util.Map" />
     5         <import type="java.util.List" />
     6         <import type="android.util.SparseArray" />
     7 
     8         <variable name="list" type="List&lt;String>" />
     9         <variable name="sparse" type="SparseArray&lt;String>"/>
    10         <variable name="map" type="Map&lt;String, String>"/>
    11         <variable name="index" type="int" />
    12         <variable name="key" type="String" />
    13     </data>
    14 
    15     <LinearLayout
    16         android:layout_width="match_parent"
    17         android:layout_height="match_parent"
    18         android:orientation="vertical"
    19         android:paddingBottom="@dimen/activity_vertical_margin"
    20         android:paddingLeft="@dimen/activity_horizontal_margin"
    21         android:paddingRight="@dimen/activity_horizontal_margin"
    22         android:paddingTop="@dimen/activity_vertical_margin">
    23 
    24         <TextView
    25             android:layout_width="wrap_content"
    26             android:layout_height="wrap_content"
    27             android:textStyle="bold"
    28             android:text="list[index]:" />
    29         <TextView
    30             android:text="@{list[index]}"
    31             android:layout_width="wrap_content"
    32             android:layout_height="wrap_content" />
    33 
    34         <TextView
    35             android:layout_width="wrap_content"
    36             android:layout_height="wrap_content"
    37             android:textStyle="bold"
    38             android:text="sparse[index]:" />
    39         <TextView
    40             android:text="@{sparse[index]}"
    41             android:layout_width="wrap_content"
    42             android:layout_height="wrap_content" />
    43 
    44         <TextView
    45             android:layout_width="wrap_content"
    46             android:layout_height="wrap_content"
    47             android:textStyle="bold"
    48             android:text="map[key]:" />
    49         <TextView
    50             android:text="@{map[key]}"
    51             android:layout_width="wrap_content"
    52             android:layout_height="wrap_content" />
    53 
    54         <View
    55             android:layout_marginTop="10dp"
    56             android:layout_marginBottom="10dp"
    57             android:layout_width="match_parent"
    58             android:layout_height="1dp"
    59             android:background="@android:color/black" />
    60 
    61         <TextView
    62             android:text='map["firstName"]'
    63             android:textStyle="bold"
    64             android:layout_width="wrap_content"
    65             android:layout_height="wrap_content" />
    66         <TextView
    67             android:text='@{map["firstName"]}'
    68             android:layout_width="wrap_content"
    69             android:layout_height="wrap_content" />
    70 
    71         <TextView
    72             android:text="map[`firstName`]"
    73             android:textStyle="bold"
    74             android:layout_width="wrap_content"
    75             android:layout_height="wrap_content" />
    76         <TextView
    77             android:text="@{map[`firstName`]}"
    78             android:layout_width="wrap_content"
    79             android:layout_height="wrap_content" />
    80 
    81         <TextView
    82             android:text="map[&amp;quot;firstName&amp;quot;]"
    83             android:textStyle="bold"
    84             android:layout_width="wrap_content"
    85             android:layout_height="wrap_content" />
    86         <TextView
    87             android:text="@{map[&quot;firstName&quot;]}"
    88             android:layout_width="wrap_content"
    89             android:layout_height="wrap_content" />
    90 
    91     </LinearLayout>
    92 
    93 </layout>

    首先在<data>导入Collection的类型。&lt;是< 的转义符。获取值的时候使用@{ map[key] }

    在binding设置值。

    binding.setIndex(index);
    binding.setKey(key);
    binding.setList(list);
    binding.setSparse(sparse);
    binding.setMap(map);

    本节参考代码。

  • 相关阅读:
    借鉴文章记录
    三方框架
    常用第三方库记录
    ios block 类型
    ios runtime部分事例方法说明
    ios url网址相关问题解说
    mysql迁移数据库函数中的坑
    mysql的事务隔离级别
    MySQL数据库的默认隔离级别为什么是可重复读
    实时查看mysql连接数
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/7389792.html
Copyright © 2020-2023  润新知