欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Android怎么綁定數(shù)據(jù)

今天小編給大家分享一下Android怎么綁定數(shù)據(jù)的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

成都創(chuàng)新互聯(lián)的客戶來自各行各業(yè),為了共同目標(biāo),我們在工作上密切配合,從創(chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括成都做網(wǎng)站、成都網(wǎng)站建設(shè)、電商網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺開發(fā)。

1. 基本結(jié)構(gòu)

1.1 JavaBeans對象

public class User { private final String firstName; public User(String firstName) { this.firstName = firstName; } public String getFirstName() { return this.firstName; } }

1.2 布局文件

<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <variable name="user" type="com.example.User"/> </data> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.firstName}"/> </LinearLayout> </layout>

1.3 Activity

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity); User user = new User("Test"); binding.setUser(user); }

以上三步完成了基本數(shù)據(jù)綁定

2. 動態(tài)更新

當(dāng)JavaBean對象的數(shù)據(jù)發(fā)生變化時(shí),View自動更新。

正常的數(shù)據(jù)源只能做到綁定,想要動態(tài)更新,就必須要用Observable的方式存儲數(shù)據(jù),以下是實(shí)現(xiàn)Observable的三種方式。

2.1 Observable 對象

實(shí)現(xiàn)android.databinding.Observable或繼承其實(shí)現(xiàn)類

private static class User extends BaseObservable { private String firstName; @Bindable public String getFirstName() { return this.firstName; } public void setFirstName(String firstName) { this.firstName = firstName; notifyPropertyChanged(BR.firstName); } }

2.2 Observable 字段

基本的數(shù)據(jù)類型都有相應(yīng)的Observable類

public final ObservableField<String> firstName = new ObservableField<>();

2.3 Observable 集合

ObservableArrayMap<String, Object> mapUser = new ObservableArrayMap<>();

user.put("firstName", "Google");

2.4 引用

無論是對象、字段還是集合,都是以O(shè)bservable的方式存儲數(shù)據(jù)。接下來就是在布局中引用了。

<layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> <import type="android.databinding.ObservableMap" /> <variable name="user" type="com.example.ObservableUser" /> <variable name="firstName" type="android.databinding.ObservableField" /> <variable name="mapUser" type="ObservableMap&lt;String, Object>" /> </data>  <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent">  <!-- Observable 對象 --> <TextView android:text="@{user.firstName}" android:layout_width="wrap_content" android:layout_height="wrap_content" />  <!-- Observable 字段 --> <TextView android:text="@{firstName.get()}" android:layout_width="wrap_content" android:layout_height="wrap_content" />  <!-- Observable 集合 --> <TextView android:text="@{mapUser[`firstName`]}" android:layout_width="match_parent" android:layout_height="wrap_content" />  </LinearLayout> </layout>

3. RecyclerView動態(tài)綁定

private static class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.BindingHolder> {  private List<Model> mModels;  public static class BindingHolder extends RecyclerView.ViewHolder { private final ViewDataBinding binding;  public BindingHolder(ViewDataBinding binding) { super(binding.getRoot()); this.binding = binding; // 這里可以binding.getRoot().findViewById,然后再onBindViewHolder中綁定事件,目前沒有找到更方便的方法 }  public ViewDataBinding getBinding() { return binding; } }  @Override public BindingHolder onCreateViewHolder(ViewGroup parent, int viewType) { ViewDataBinding binding = DataBindingUtil.inflate( LayoutInflater.from(parent.getContext()), R.layout.list_item, parent, false);  BindingHolder holder = new BindingHolder(binding);

以上就是“Android怎么綁定數(shù)據(jù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站欄目:Android怎么綁定數(shù)據(jù)
當(dāng)前URL:http://www.chinadenli.net/article2/jcodoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)軟件開發(fā)電子商務(wù)做網(wǎng)站微信公眾號自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管