Android开发-数据绑定-DataBinding-AndroidStudio(一)初识DataBinding

效果上没有什么特别的,看不出来什么~~

转载请注明出处:http://blog.csdn.net/iwanghang/article/details/53188034

看看准备工作和源码:

MainActivity.java:

package com.iwanghang.databinding;

import android.databinding.DataBindingUtil;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.iwanghang.databinding.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //setContentView(R.layout.activity_main);
        /**
         * 用DataBinding方式载入layout
         */
        ActivityMainBinding binding = DataBindingUtil.setContentView(this,R.layout.activity_main);

        User user = new User();
        user.setName("用户名");
        user.setNickName("昵称");
        user.setEmail("abc@123.com");
        user.setVip(true);
        binding.setUser(user);
    }
}
User.java:

package com.iwanghang.databinding;

public class User {
    private String name;
    private String nickName;
    private String email;
    private boolean vip;

    public boolean isVip() {
        return vip;
    }

    public void setVip(boolean vip) {
        this.vip = vip;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<!--改造后的layout-->
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <!--数据模块-->
    <data>
        <variable
            name="user"
            type="com.iwanghang.databinding.User"/>
    </data>
    <!--样式模块-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        tools:context="com.iwanghang.databingding.MainActivity">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:text="@{ user.name }" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{ user.nickName }" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{ user.email }" />
        <TextView
            android:textColor="@{ user.vip ? 0xffff0000 : 0xff0000}"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="VIP" />
    </LinearLayout>
</layout>


转载请注明出处: http://blog.csdn.net/iwanghang/article/details/53188034


欢迎移动开发爱好者交流
沈阳或周边城市公司有意开发Android,请与我联系
联系方式

微信:iwanghang
QQ:413711276
邮箱:iwanghang@qq.com




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值