DataBinding响应事件

public class EventHandlerListener {
    private Context context;

    public EventHandlerListener(Context context) {
        this.context = context;
    }

    //点击Button会触发这个方法
    public  void onButtonClicked(){
        Toast.makeText(context, "小鑫好好看啊!!", Toast.LENGTH_SHORT).show();
    }
}

public class DataBindingActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ActivityDataBindingBinding activityDataBindingBinding = DataBindingUtil.setContentView(this, R.layout.activity_data_binding);

        activityDataBindingBinding.setEventHandler(new EventHandlerListener(this));

    }
}
 

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <data>
        <variable
            name="EventHandler"
            type="com.example.jetpack.EventHandlerListener" />
    </data>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        tools:context=".DataBindingActivity">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="CLick Me"
            android:onClick="@{()->EventHandler.onButtonClicked()}"/>

    </LinearLayout>
</layout>
 

猜你喜欢

转载自blog.csdn.net/whb008/article/details/114284079