Bigkoo / Android-PickerView

This is a picker view for android , support linkage effect, timepicker and optionspicker.(时间选择器、省市区三级联动)
Apache License 2.0
13.45k stars 3.45k forks source link

Kotlin泛型报错解决 #522

Closed appdev closed 6 years ago

appdev commented 6 years ago

修改OptionsPickerBuilder的build方法为:

 public <T> OptionsPickerView<T> build() {
        return new OptionsPickerView<T>(mPickerOptions);
    }

修改后即可解决

xiaosong520 commented 6 years ago

@huclengyue 在 Android Studio 3.0 项目使用kotlin 调用本库代码,编译运行正常。上述如何问题是如何复现的呢?

appdev commented 6 years ago

@xiaosong520

    var pvOptions: OptionsPickerView<String>? = null
    private fun showOptionPicker() {
            pvOptions = OptionsPickerBuilder(this, OnOptionsSelectListener { options1, _, _, v ->
                tv_gender_value.text = params[options1]
            }).setTitleText("XX").build<String>()
        pvOptions?.show()
    }

如果不加上类型,报类型转换错误,不能编译

Type mismatch.
Required:
OptionsPickerView<String>?
Found:
(OptionsPickerView<Any!>..OptionsPickerView<*>?)
xiaosong520 commented 6 years ago

@huclengyue

...

.build as OptionsPickerView<String>? 
appdev commented 6 years ago

这样应该也可以 但是我觉得强转似乎不太好~~

xiaosong520 commented 6 years ago

@huclengyue 下个版本会优化一下build 方法。

xiaosong520 commented 6 years ago

@huclengyue 新版本已优化。