【发布时间】:2020-11-24 10:48:09
【问题描述】:
我正在尝试使用 Android 数据绑定在自定义 SeekBar (https://github.com/warkiz/IndicatorSeekBar) 上设置侦听器。
在标准 SeekBar 中,我以这种方式设置 onProgressChanged 侦听器:
片段的 XML:
<SeekBar
...
android:onProgressChanged="@{viewModel::seekBarStopTracking}"
...
/>
Fragment 的 ViewModel:
public void seekBarStopTracking(SeekBar view, int progress, boolean fromUser) {
}
我正在尝试对 IndicatorSeekBar 做同样的事情,但是它的侦听器有点不同:
来自github的示例:
seekBar.setOnSeekChangeListener(new OnSeekChangeListener() {
@Override
public void onSeeking(SeekParams seekParams) {
}
@Override
public void onStartTrackingTouch(IndicatorSeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(IndicatorSeekBar seekBar) {
}
});
XML:
<com.warkiz.widget.IndicatorSeekBar
...
app:onSeeking="@{viewModel::seeking}"
...
/>
视图模型:
public void seeking(SeekParams params){
}
也试过了:
public void seeking(IndicatorSeekBar seekBar, SeekParams params){
}
但结果是一样的:
[databinding] {"msg":"无法解析 viewModel::seeking 作为监听器。
我做错了什么? 谢谢
【问题讨论】:
标签: android data-binding seekbar