在高阶函数中调用具有参数/ s的lambda

我是java / kotlin函数式编程的新手,并做了一些练习。 只是想知道如何在调用lambda时传递参数。 例如,在这里调用someMethod我需要传递一个Int参数。 fun lambdaTest( someMethod: (Int) -> Boolean){ someMethod() } 如何做到这一点? 答案可能非常简单,我只是没有在任何地方find它,在文档中只有列表的例子,如果答案是明确的: fun List.map(transform: (T) -> R): List { val result = arrayListOf() for (item in this) result.add(transform(item)) return result }

RealmResults大小正在返回零

我有一个小问题,我找不到任何结果。 是的,我也做了一些研究。 我有一个variablesmResults = RealmResults ; 这有数据,你可以看到下面的图片 但是当我键入>> mResults.size <<返回0.问题是什么? 顺便说一句。 我在Android使用kotlin工作。 pröblem在RecyclerviewgetItemCöunt中 ActivityMain :::: Realm.init(this) val configuration = RealmConfiguration.Builder().build() Realm.setDefaultConfiguration(configuration) mRealm = Realm.getDefaultInstance() val results:RealmResults = mRealm.where(Drop::class.java).findAll() mToolbar = findViewById(R.id.toolbar) mRecycler = findViewById(R.id.rv_drops) val manager = LinearLayoutManager(this) mRecycler.layoutManager = manager mRecycler.adapter = AdapterDrops(this, results) open class Drop : RealmObject { private var what: String? […]

EvaluateJavaScript只允许返回types的字符串?

我做了一个通用的函数(在Kotlin中),我可以根据给定的命令调用JavaScript函数。 fun evaluateJsFromNative(command: String, webView: WebView, function: (value : String) -> Unit ) { webView.evaluateJavascript(“(function() { return $command; })();”) { s -> function(s) } } 但是,它只允许将值String作为返回types。 如果我希望它是更通用的东西,我可以返回布尔types,诠释,甚至什么都没有,我怎么能使这更通用? 例如,我不能这样做…它会在function(s)声明需要是String fun evaluateJsFromNative(command: String, webView: WebView, function: (value : Boolean) -> Unit ) { webView.evaluateJavascript(“(function() { return $command; })();”) { s -> function(s) } }

如何在android中textview的内容添加笔划

我不想使用图像资源。 textview中的文本应该像上面的image.Is有任何方式可能做这种风格无论是在XML或在Java / KOTLIN代码。 另外我不想用帆布画。 请帮忙。

使用okHTTP和GSON从API中提取数据

对于使用API​​(和kotlin)这个新手来说,我很难弄清楚如何从API中将数据提取到模型对象中,并且希望有人能指出我的正确方向。 下面的示例代码。 val request = Request.Builder().header(“X-Mashape-Key”, keyVal).url(url).build() //make request client val client = OkHttpClient() //create request client.newCall(request).enqueue(object: Callback { override fun onResponse(call: Call?, response: Response?) { //grab as string, works fine val body = response?.body()?.string() //make my builder, works fine val gson = GsonBuilder().create() // to pass type of class to kotlin :: val cardFeed […]

由于NoClassDefFoundError而导致的工具测试失败

我从今天开始在调试模式下对我的kotlin应用程序进行多重分解,因为库迫使我这样做。 我的问题是,我的用户界面测试不工作了。 我也正在缩小我的apk。 我收到以下错误: FATAL EXCEPTION: MockWebServer Process: [package], PID: 19446 java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/collections/CollectionsKt; at [package].activity.MockedServerTestsBase$dispatcher$1.dispatch(Unknown Source) at okhttp3.mockwebserver.MockWebServer$3.processOneRequest(Unknown Source) at okhttp3.mockwebserver.MockWebServer$3.processConnection(Unknown Source) at okhttp3.mockwebserver.MockWebServer$3.execute(Unknown Source) at okhttp3.internal.NamedRunnable.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:761) Caused by: java.lang.ClassNotFoundException: Didn’t find class “kotlin.collections.CollectionsKt” on path: DexPathList[[zip file “/system/framework/android.test.runner.jar”, zip file “/data/app/[package].test-2/base.apk”, zip file “/data/app/[package]-1/base.apk”],nativeLibraryDirectories=[/data/app/[package].test-2/lib/x86, […]

Android:自定义按钮上的背景颜色没有正确设置前的棒棒糖

当我使用一个标准的按钮 样式: match_parent @dimen/login_btn_height false @color/white @dimen/login_buttons_bottom_margin 主题: @color/CrGreen @color/CrGreen @color/CrGreen 一切工作正常,背景颜色设置在每个api级别16+ 但是当我使用我的自定义按钮(用kotlin编写,需要自定义字体) open class CheckrobinButton : Button { val fontPath = “fonts/CoreSansG55.otf” constructor(context: Context) : super(context) { init() } constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) { init() } constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) { init() } constructor(context: Context?, […]

如何在应用程序中打印数组列表?

如何在Android Studio的应用程序屏幕上显示ArrayList? 它显示: 必需:可编辑! 提供:数组列表 fun sort(view: View) { for (a in 0..myList.size) { if(myList[a]==null) myList[a]=0 } for(a in 0..myList.size) { val b=a var temp=0 for (c in b..0) { if(myList[c]< myList[c-1]) { temp=myList[c] myList[c]= myList[c-1] myList[c-1]=temp } } } ans.text= myList } 请帮忙解决问题。 我对Android Studio颇为陌生,刚刚开始学习如何在Kotlin中制作应用程序。 所以请试着用简单的话来回答。

Android Gradle 3.0和本地库的“Unresolved reference R”

我正在努力更新我的项目与Android Gradle插件3.0.1编译。 事实: app项目取决于本地库: lib ./gradlew assembleDebug for app在编译lib时出错无法Unresolved reference: R 将lib作为一个独立的项目成功 AndroidManifest的任何一个项目的package都是一样的 我试图禁用aapt2( android.enableAapt2=false在gradle.properties ) – 没有运气 可能是相关的:使用Kotlin(1.2.21) 我错过了什么? 看起来很简单,但我找不到在构建app没有生成R的原因,而是直接构建lib 。

我无法在Android中的类中初始化我的数组(MutableList)

我刚刚开始与Kotlin和Android工作室。 当在MainActivity.kt我做以下… var tafels: MutableList<MutableList> = java.util.ArrayList() tafels.add(mutableListOf(2, 2, 4)) 一切工作正常。 我可以添加元素到这个ArrayList ,如图所示。 当我尝试在一个新文件中做同样的事情时,在我创建的类中,但是,当我输入时,代码帮助无法识别tafels ,因此在键入tafels之后没有任何建议: class TafelsSommen(){ var tafels: MutableList<MutableList> = java.util.ArrayList() tafels.add(mutableListOf(2, 2, 4)) } 为什么我不能将元素添加到tafels类中的TafelsSommen ?