【发布时间】:2025-11-25 07:55:01
【问题描述】:
我的 kotlin 类:
class InstallationReceiver(activity : RootActivity, url : String, progressCallback :
((percentage : Int) -> Unit)?, callback : ((isUpdated : Boolean) -> Unit)?, packageName:
String){
//my code
}
我将 lambda fun 从 java 类传递给这个类,如下所示:
new InstallationReceiver(getActivity(), apkUrl, integer -> **{
String text = "Installing app"+integer;
textView.setText(text);
}**,true,null);
为什么这个 lambda 函数需要 Unit 返回类型?我什至尝试返回 Unit.INSTANCE 但没有任何帮助。它仍然显示错误。
【问题讨论】:
-
主要是因为
((percentage : Int) -> Unit)?意味着传递Integer并取回Unit的数据。 -
是的,我想通了。问题出在另一个 lambda 函数中,而我认为它在第一个函数中。谢谢顺便说一句。
标签: java android kotlin lambda