草庐IT

android - Kotlin Android Button.onClickListener 导致 NoSuchMethodError

我想我发现了使用kotlinforandroid的怪癖,或者我对语法的理解存在一些差距。尝试为按钮设置onClickListener会引发NoSuchMethodError这是错误的代码button.setOnClickListener(Button.OnClickListener{funonClick(view:View){valintent:Intent=Intent(this,DetailActivity::class.java)if(objisString){intent.putExtra("Topic",obj)}startActivity(intent)}})这是输出的堆栈

android - FragmentTransaction 不会在 Kotlin Android 项目中编译

在用Android学习Kotlin的过程中,编译失败和通常无用的错误文本让我感到难过。错误文本内容如下:Noneofthefollowingfunctionscanbecalledwiththeargumentssupplied.add(Fragment!,String!)definedinandroid.app.FragmentTransactionadd(Int,Fragment!)definedinandroid.app.FragmentTransaction在这两种情况下,Fragment!文本都以红色突出显示。我知道Kotlin使用!来引用Java类,但我似乎无法理解为什么它

android - Kotlin:功能类型不匹配

编译时出现以下错误:类型不匹配:推断的类型是(String,Boolean)->Anybut((String,Boolean)->Unit)?符合预期我的类型声明是privatevalConsisFilter_Click={filterText:String,isStrictSearch:Boolean->try{//MyCodes}catch(e:Exception){try{alert{}.show()}catch(ignored:Exception){}}}varConsisFilterClickEvent:((filterText:String,isStrictSearch:B

android - 取消 Kotlin 协程后无法捕获异常抛出

使用kotlinx.coroutineslib取消协程后抛出的异常我是抓不到的。这会导致应用程序崩溃。funfoo(){valjob=launch(UI){try{Log.d("TAG","Startcoroutine")run(CommonPool){Log.d("TAG","Startbgtask")//IntentionallymakebgtaskrunningforalongtimeSystemClock.sleep(2000)Log.d("TAG","Throwbgtaskexception")throwRuntimeException("Bgtaskexception")}

java - kotlin 中的意外标记(使用 ; 分隔同一行上的表达式)

我在我的android项目中使用了kotlin,它是在java上开发的,我在我的服务层中使用了kotlin数据类现在我想在序列化中添加备用标签@SerializedName(value="name",alternate={"person","user"})valtitle:String,这给了我意想不到的token问题,它似乎来自Kotlin方面这似乎是kotlin问题,有人可以指出我的问题吗 最佳答案 我认为这会完成工作:@SerializedName(value="name",alternate=arrayOf("person"

android - Kotlin Android 项目无法同步 Gradle 项目

我使用最新的AndroidStudio版本(v2Preview5)创建了一个Android项目,并将其转换为一个kotlin项目。现在gradle无法同步和构建项目,请看截图:我没有对任何构建文件做任何事情,我还删除了我的整个gradle缓存以及重新启动、杀死守护进程等。我使用了最新的kotlin版本1.0.0-beta-4584根据报错提示我猜是kotlin插件的原因,请问有谁知道怎么解决这个问题吗? 最佳答案 就此而言,kotlingradle插件与android(2.0.0-alpha6)或alpha5的最新alpha插件不兼

android - onCreate 在抽象父 Activity 中没有在 kotlin 中调用

我声明了一个MapActivity的child:classRecordingActivity:MapActivity(){overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)Log.d("RecirdingActivity","InitializeMap")//called}overridefungetView():Int{returnR.layout.activity_recording}}我打电话从我的主要Activity开始这个Activity:fab.setOnCli

android - 使用 Kotlin 检测 Android 内存泄漏的库

我正在使用LeakCanary来防止Android中的内存泄漏...使用Kotlin,这个库仍然有效吗?Kotlin还有另一个吗?LeakCanary可以根据源代码(我是对的吗?)和傻瓜检测从Activity/fragment传递到的上下文引用Async类的构造函数,如果WeakReferences在Async未完成其进程时用户离开Activity时未正确使用,LeakCanary检测内存泄漏。它在Kotlin中如何运作?LeakCanary是基于(它的分析)生成的字节码,使用Java代码或Kolin之间真实没有区别吗? 最佳答案

android - 在 Kotlin 中使用 RXJava 映射?

为什么这是一个miss-type的提示?map应该将一个observable的值转换为另一个,但它期望我从map返回一个observableoverridefunfetchExercises():Observable>{returnFirebaseDatabase.getInstance().getReference("exercises").observeSingleEvent().map{snapshot:DataSnapshot?->object:List//ErrorherereturnlistOf()}}funDatabaseReference.observeSingleEv

android - Kotlin 协程 : Switching context when testing an Android Presenter

我最近开始在我的Android项目中使用kotlin协程,但我在使用它时遇到了一些问题。许多人会称之为代码味道。我使用的是MVP架构,其中协程在我的演示器中像这样启动://WorklistPresenter.kt...overridefunloadWorklist(){...launchAsync{mViewModel.getWorklist()}...launchAsync函数是这样实现的(在我的WorklistPresenter类扩展的BasePresenter类中):@SynchronizedprotectedfunlaunchAsync(block:suspendCorouti