1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- 3 ~ Copyright (C) 2015 The Android Open Source Project 4 ~ Licensed under the Apache License, Version 2.0 (the "License"); 5 ~ you may not use this file except in compliance with the License. 6 ~ You may obtain a copy of the License at 7 ~ http://www.apache.org/licenses/LICENSE-2.0 8 ~ Unless required by applicable law or agreed to in writing, software 9 ~ distributed under the License is distributed on an "AS IS" BASIS, 10 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 ~ See the License for the specific language governing permissions and 12 ~ limitations under the License. 13 --> 14 15 <layout xmlns:android="http://schemas.android.com/apk/res/android" 16 xmlns:app="http://schemas.android.com/apk/res-auto"> 17 <data> 18 <import type="android.databinding.testapp.vo.NotBindableVo"/> 19 <variable name="otherObj" type="android.databinding.testapp.vo.NotBindableVo"/> 20 <variable name="obj" type="android.databinding.testapp.vo.CallbackBindingObject"/> 21 <variable name="obj2" type="android.databinding.testapp.vo.CallbackBindingObject"/> 22 <variable name="objArr" type="android.databinding.testapp.vo.CallbackBindingObject[]"/> 23 </data> 24 <LinearLayout 25 android:orientation="vertical" 26 android:layout_width="match_parent" 27 android:layout_height="match_parent"> 28 <View 29 android:id="@+id/view1" 30 android:layout_width="wrap_content" 31 android:layout_height="wrap_content" 32 android:onClick="@{() -> obj.onClick()}" 33 android:onLongClick="@{() -> obj.onLongClick()}" 34 /> 35 <View 36 android:id="@+id/view2" 37 android:layout_width="wrap_content" 38 android:layout_height="wrap_content" 39 android:onClick="@{(v) -> obj.onClick(v)}" 40 android:onLongClick="@{(view) -> obj.onLongClick(view)}" 41 /> 42 43 <View 44 android:id="@+id/view3" 45 android:layout_width="wrap_content" 46 android:layout_height="wrap_content" 47 android:onClick="@{(v) -> obj.onClickWithParam(otherObj)}" 48 android:onLongClick="@{(view) -> obj.onLongClickWithParam(otherObj)}" 49 /> 50 51 <View 52 android:id="@+id/view4" 53 android:layout_width="wrap_content" 54 android:layout_height="wrap_content" 55 android:onClick="@{(v) -> obj.onClickWithParam(v, otherObj)}" 56 android:onLongClick="@{(view) -> obj.onLongClickWithParam(view, otherObj)}" 57 /> 58 59 <!-- via adapter and also multiple params --> 60 <ListView 61 android:id="@+id/listView" 62 android:layout_width="wrap_content" 63 android:layout_height="wrap_content" 64 android:onScroll="@{() -> obj2.onScrolled()}"/> 65 66 <SeekBar 67 android:id="@+id/seekBar" 68 android:layout_width="wrap_content" 69 android:layout_height="wrap_content" 70 android:onProgressChanged="@{(seekBar, progress, fromUser) -> obj.onProgressChanged(seekBar, progress, fromUser)}" 71 /> 72 <View 73 android:id="@+id/view5" 74 android:layout_width="wrap_content" 75 android:layout_height="wrap_content" 76 android:onClick="@{(v) -> NotBindableVo.incStaticCounter()}" 77 android:onLongClick="@{(v) -> NotBindableVo.incStaticCounter()}" 78 /> 79 <View 80 android:id="@+id/view6" 81 android:layout_width="wrap_content" 82 android:layout_height="wrap_content" 83 android:onClick="@{(v) -> otherObj.incStaticCounter()}" 84 android:onLongClick="@{(v) -> otherObj.incStaticCounter()}" 85 /> 86 <View android:layout_width="wrap_content" android:layout_height="wrap_content" 87 android:id="@+id/view7" 88 android:onClick="@{(v) -> objArr[1].onClick(v)}" 89 android:onLongClick="@{(view) -> objArr[2].onLongClick(view)}"/> 90 91 <!--variable override--> 92 <View android:layout_width="wrap_content" android:layout_height="match_parent" 93 android:id="@+id/view8" 94 android:onClick="@{(objArr) -> obj.onClick(objArr)}"/> 95 96 <View android:layout_width="wrap_content" android:layout_height="match_parent" 97 android:id="@+id/view9" 98 android:onClick="@{(v) -> obj.setVisible(android.view.View.VISIBLE)}"/> 99 100 <View android:layout_width="wrap_content" android:layout_height="match_parent" 101 android:id="@+id/view10" 102 android:onClick="@{(v) -> obj.setVisible(NotBindableVo.STATIC_VAL)}"/> 103 104 <View android:layout_width="wrap_content" android:layout_height="match_parent" 105 android:id="@+id/view11" 106 android:onClick="@{(v) -> v.focusable ? obj.onFocusable() : obj.onNotFocusable()}" 107 android:onLongClick="@{(v) -> v.focusable ? obj.onFocusable() : obj.onNotFocusable()}"/> 108 </LinearLayout> 109 </layout>