草庐IT

Kotlin 中的 Java Boolean.valueOf() 等价物?

是否有Kotlin等同于java的Boolean.valueOf()?我找到的最接近的是.toBoolean()。但是如果字符串为null.toBoolean()将创建一个NPE。有没有人遇到过这个?我是否遗漏了一些理解? 最佳答案 如前所述,它是.toBoolean()。它的工作原理非常简单:如果字符串的值为true,忽略大小写,返回值为true。在任何其他情况下,它都是错误的。这意味着,如果字符串不是boolean值,它将返回false。Kotlin本质上有两种类型变体:Any和Any?。Any当然可以是任何类,或者指代实际类A

android - Kotlin DataBinding 将静态函数传递到布局 xml

在Java中,我可以使用以下方法轻松地将静态函数传递给布局xml:publicstaticStringformatUnixTime(longtimeInSeconds,Stringpattern){SimpleDateFormatsimpleDateFormat=newSimpleDateFormat(pattern,Locale.US);Stringvalue=simpleDateFormat.format(newDate(timeInSeconds*1000));returnvalue;}在xml中:android:text='@{Utils.formatUnixTime(mode

java - Kotlin Android/Java 字符串日期时间格式,API21

我想将字符串日期时间转换为格式化字符串。例如“2018-12-14T09:55:00”到“14.12.201809:55”为String=>Textview.text我如何使用kotlin或javaforandroid做到这一点? 最佳答案 将其解析为LocalDateTime然后格式化:LocalDateTimelocalDateTime=LocalDateTime.parse("2018-12-14T09:55:00");DateTimeFormatterformatter=DateTimeFormatter.ofPattern

java - Kotlin 中的 public static void main

在Java中,尤其是在Androidstudio中,每当我想快速运行或测试一些Java源代码时,我都会创建publicstaticvoidmain(快捷键:psvm+tab),IDE将显示“播放”按钮以立即运行它。我们在Kotlin中是否有某种psvm-一个入口点或其他东西,以便快速运行或测试任何东西?尝试使用此功能,但没有用。(甚至尝试使用@JvmStatic)。我们可以在Androidstudio的某个地方配置吗?funmain(args:Array){} 最佳答案 将它放在带有@JvmStatic注释的伴生对象中:classT

android - Unresolved reference : DaoSession using greendao and kotlin

我正在尝试将一个用java编写的android项目转换为kotlin。我的greendao类是在我构建时生成的,我收到Unresolvedreference:DaoSession错误消息。我有kapt{generateStubs=true}在我的构建gradle代码中。 最佳答案 在您的应用程序build.gradle中将您的greendao插件移动到kotlin插件之前,如下所示:applyplugin:'org.greenrobot.greendao'applyplugin:'kotlin-kapt'applyplugin:'k

android - 为什么这个 Kotlin Coroutine 会卡住界面?

因此,我让这段代码在“onBindViewHolder”回收器的适配器方法中运行:launch(UI){valbitmapDrawable=loadLargeBitmapDrawable()imageView.setImageDrawable(bitmapDrawable)}这让我的应用卡住了几秒钟,锁定了我的主线程。但后来我改成了这样:launch{//为什么会这样?协同程序的目的是使同一线程(UI)内的事物异步,对吧?有人可以解释为什么我必须在另一个协程范围内运行UI协程吗? 最佳答案 Thepurposeofcoroutine

android - Kotlin:如何在 Binder 中返回正在运行的服务实例?

我有Service的Java代码,并试图将其转换为Kotlin。classMyService:Service(){companionobjectMyBinder:Binder(){fungetService():MyService?{returnMyService::class.objectInstance}}//serviceimplementation}问题是在Activity中getService()总是返回null。我确定service之前已经启动,我在logcat中看到了它。我建议从Java代码自动生成的行应该不同,但我找不到解决方案:returnMyService::cla

android - 'return' 不会跳出 Kotlin 中的 forEach

我有这段Kotlin代码,为什么return@forEach没有跳出forEach?它继续循环直到完成,删除reversed()并不能解决问题:rendered_words.reversed().forEach{rw->if(rw.y-the_top>0&&rw.y-the_top我尝试用break@forEach替换return@forEach但Kotlin编译器说:Error:(785,25)Thelabel'@forEach'doesnotdenotealoop 最佳答案 如果你想跳出forEach,你应该使用一个运行bloc

android - 如何在其他类 Android Kotlin 中使用 this 和 context?

我想在Permission.class中创建一个askMicrophonePermission函数。并在onCreate()中写入Permission().askMicrophonePermission()。我不知道如何更改this以便ActivityCompat.checkSelfPermission并且ActivityCompat.requestPermissions可以运行在Permission().askMicrophonePermission().这是我的代码:主要Activity:classMainActivity:AppCompatActivity(){overridef

android - Kotlin:如何让 searchView 提交

我有一个SearchView:我想在按下提交按钮时添加自定义操作。这是我目前所拥有的:searchBar.setOnSearchClickListener{//dosomestuff}我找到的所有信息都是旧的,不在kotlin中。如何在点击键盘上的搜索图标时触发操作? 最佳答案 尝试这样做:overridefunonCreateOptionsMenu(menu:Menu):Boolean{menuInflater.inflate(R.menu.main,menu)valsearchItem=menu.findItem(R.id.se