美文网首页JetPack学习笔记
JetPack学习笔记之DataBinding(二)

JetPack学习笔记之DataBinding(二)

作者: 秀儿2020 | 来源:发表于2020-08-07 09:58 被阅读0次

    JetPack学习笔记之DataBinding(二)

    上一篇文章中介绍了DataBinding的基本使用方法,通过DataBinding让布局文件承担了属于Activity的工作,下面介绍使用DataBinding让布局文件响应用户事件的方法。

    1、创建事件响应类。
        public class EventHandlerListener{
            public void changeBookName(View view){
                Log.d(TAG,"改变书名");
            }
        }
    

    注: 事件响应方法必须含有View参数。

    2、编写布局文件。
    <data>
           ...
           
            <variable
                name="eventHandlerListener"
                type="com.example.jetpackpro.databinding.DataBindingActivity.EventHandlerListener" />
    
        </data>
        
        ....
        
         <Button
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="change book name"
                android:onClick="@{eventHandlerListener.changeBookName}"/>
    

    共有两处修改点,一是在data标签中引入了新创建的事件响应类。二是在编写的button中引入事件处理方法。

    3、在Activity中注册事件类。
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
            ActivityDataBindingBinding binding = DataBindingUtil.setContentView(this,R.layout.activity_data_binding);
    
    
            binding.setBook(book);
    
            //注册事件类。
            binding.setEventHandlerListener(new EventHandlerListener());
        }
    

    运行后可在日志中看到输出

    2020-08-07 09:46:58.875 27812-27812/com.example.jetpackpro D/DataBindingActivity: 改变书名
    

    相关文章

      网友评论

        本文标题:JetPack学习笔记之DataBinding(二)

        本文链接:https://www.haomeiwen.com/subject/qpzxdktx.html