Android DataBinding 入门了解 到实现一个buttton的点击事件
為了更好的學習mvvm 這里從新學習databinding....
?
1 首先在app下面的Gradle 里面的android 里面 添加
dataBinding {enabled = true}
如下圖
下面看看databinding的布局
1 選中最外層的布局 ,然后alt +enter 看到提示 轉為databinding layout
之后效果圖下
可以看到最外層 變為layout 了, 里面還有 data
一般 data里面有一個variable 里面有type name 如下
<data><variablename="listener"type="com.hxm.MainActivity.Listener"/></data>
name 里面是自己命名的, type 里面跟著包名后面在跟著一個自己命名的
下面寫一個button
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"><data><variablename="listener"type="com.hxm.MainActivity.Listener"/></data><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:onClick="@{listener.OnClick}"android:text="第一個點擊事件" /></LinearLayout>
</layout>
這里需要注意onClick ="@{}" 里面不要寫小括號
1 聲明注意
一般自己命名的Activity 都是自己命名后面拼接LayoutBinding ,比如自己取名DataActivity,聲明的時候DataActivityLayoutBinding
但是MainActivity 有點不一樣 ,聲明是ActivityMainBinding,這個在寫type 的時候注意下就行了
2 布局引入方式注意
是使用 DataBindingUtil.setContentView(x,x);
下面看看完整的寫法
public class MainActivity extends AppCompatActivity{ActivityMainBinding binding;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);binding = DataBindingUtil.setContentView(this,R.layout.activity_main);binding.setListener(new Listener());}public class Listener{public void OnClick(View view){Toast.makeText(MainActivity.this, "第一個點擊事件", Toast.LENGTH_SHORT).show();}}
}
到這里databinding 的點擊事件就是實現了.
注意setListener ,是因為布局name 命名為listener 了
假如取名可 Click 這個就是setClickle? 寫有的as 會有提示的
demo 地址
?
總結
以上是生活随笔為你收集整理的Android DataBinding 入门了解 到实现一个buttton的点击事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android TextView 中间添
- 下一篇: databinding 入门 知识