回调函数"/>
Java中添加kotlin回调函数
Java中调动kotlin方法,然后传一个kotlin的callback,onItemSelected: ((Int) -> Unit)
class WheelOptionPicker() {fun showReasonPicker(context: Context,reasons: List<String>,onItemSelected: ((Int) -> Unit)) {AppUtils.hideKeyBoard(context as Activity)var index = 0var pvOptions: OptionsPickerView<String>? = nullpvOptions = OptionsPickerBuilder(context, null).setLayoutRes(R.layout.option_picker_view) { v ->v.text_left.fillVisible(false)v.text_title.text = context.getString(R.string.please_choice_dispose_reason)val picker = v.optionspickerpicker.setPadding(DisplayUtil.dp2px(32f), DisplayUtil.dp2px(16f),DisplayUtil.dp2px(32f), DisplayUtil.dp2px(16f))val opt1: WheelView = v.options1 // 初始化时显示的数据v.text_right.text = context.getString(R.string.str_save)v.text_right.setOnClickListener {val currentItems = IntArray(3)currentItems[0] = opt1.currentItempvOptions?.dismiss()onItemSelected(currentItems[0])}}.setTextColorCenter(ContextCompat.getColor(context, R.color.delivery_primary_text_color)).setItemVisibleCount(7).setContentTextSize(23).isAlphaGradient(true).setLineSpacingMultiplier(1.5f).setOutSideCancelable(true).setSelectOptions(index).build<String>()pvOptions?.setPicker(reasons)pvOptions?.setSelectOptions(index)pvOptions?.show()}
}
private void showPop() {new WheelOptionPicker().showReasonPicker(this, mDisposeMessageList//写法一:写了new 之后,使用alt+回车就可以自动补全Function1函数//另:commend+P只能提示参数,不能自动补全/* , new Function1<Integer, Unit>() {@Overridepublic Unit invoke(Integer integer) {if (mBizTaskInfo != null && mBizTaskInfo.getBizTaskNo() != null) {presenter.patchDisposeBusinessTaskMessage(mRxManager, mFdApiService,mDisposeMessageList.get(integer),mBizTaskInfo == null ? null : mBizTaskInfo.getBizTaskNo(), this);} else {ToastUtil.toast("提交信息有误");}return null;}}*///写法二:让系统自己简写,就成了这样,integer -> {if (mBizTaskInfo != null && mBizTaskInfo.getBizTaskNo() != null) {presenter.patchDisposeBusinessTaskMessage(mRxManager, mFdApiService,mDisposeMessageList.get(integer),mBizTaskInfo == null ? null : mBizTaskInfo.getBizTaskNo(), this);} else {ToastUtil.toast("提交信息有误");}return null;});
可以在Java中输入参数后,使用commnd+p使用提示
更多推荐
Java中添加kotlin回调函数
发布评论