Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 具有双向绑定的自定义组件_Android_Mvvm - Fatal编程技术网

Android 具有双向绑定的自定义组件

Android 具有双向绑定的自定义组件,android,mvvm,Android,Mvvm,您好,我正在尝试为timepicker组件创建一个自定义组件,该组件带有一个显示时间的连接文本字段 首先是我目前使用的代码。 只要页面上只有一个时间选择器,当前版本就可以正常工作。 但是由于mListener必须是静态的,因此当我有多个TimePicker时,mListener将被最后一个TimePicker覆盖,因此只设置了currentTime 如果您还有更多问题,欢迎提问。我已经解决了这个问题 我通过改变以下方式做到了这一点: static InverseBindingListener

您好,我正在尝试为timepicker组件创建一个自定义组件,该组件带有一个显示时间的连接文本字段

首先是我目前使用的代码。

只要页面上只有一个
时间选择器,当前版本就可以正常工作。
但是由于
mListener
必须是静态的,因此当我有多个
TimePicker
时,
mListener
将被最后一个
TimePicker
覆盖,因此只设置了
currentTime


如果您还有更多问题,欢迎提问。

我已经解决了这个问题

我通过改变以下方式做到了这一点:

static InverseBindingListener mListener;
...
public static void setTextWatcher(View view, final InverseBindingListener textAttrChanged) {
    mListener = textAttrChanged;
}
致:

private InverseBindingListener mListener;
...
//Added this for binding the TimePicker to the two property
public void bind(InverseBindingListener mListener) {
    this.mListener = mListener;
}
...
public static void setTextWatcher(TimePicker view, final InverseBindingListener textAttrChanged) {
    view.bind(textAttrChanged);
}