数据绑定事件监听器

时间:2018-03-06 10:44:56

标签: java android data-binding android-databinding android-imagebutton

我正在尝试将事件监听器设置为ImageButton但我一直收到此错误。

Error:(48, 36) Could not resolve handler::onSelectPictureClicked as a listener. 

这是我的布局。

<data>
    <variable
        name="handler"
        type="CompleteProfileActivityHandler"/>
</data>    
<ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_badge_upload"
            android:background="@null"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:contentDescription="@string/select_picture"
            android:id="@+id/complete_profile_picture_select"
            android:onClick="@{handler::onSelectPictureClicked}"/>

这是我的处理程序类

public class CompleteProfileActivityHandler{
    public void onSelectPictureClicked(View view){
        choosePicture();
    }
}

提前致谢。 ;)

2 个答案:

答案 0 :(得分:1)

所以我终于弄明白了问题所在。 我没有将处理程序绑定到Activity中的视图。

我是这样做的:

binding.setHandler(new CompleteProfileActivityHandler());

答案 1 :(得分:0)

我认为你的listenr类必须实现View.OnClickListener类

 public class CompleteProfileActivityHandler implements View.OnClickListener{
public void onSelectPictureClicked(View view){
    choosePicture();
}

}

你必须在这个接口的回调方法上编写你的代码。