草庐IT

kotlin.notimplementederror

全部标签

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

java - 如何在 Kotlin 中注入(inject) var?

我尝试将Dagger2实现到我的Kotlin项目中,但我遇到了@Inject注释的问题。在Java中它看起来像这样并且工作正常:publicclassFooActivityextendsActivity{@Inject@Named("accessTokenObservable")publicFlowable>accessTokenObservable;@OverrideprotectedvoidonCreate(@NullablefinalBundlesavedInstanceState){super.onCreate(savedInstanceState);App.getGraph(

android - Gradle 3.0.0-alpha1 与 kotlin-android 插件 1.1.2-3 不兼容?

这个问题在这里已经有了答案:AndroidStudio3.0-Unabletofindmethod'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List'(6个答案)关闭5年前。我安装AndroidStudio3.0Canary1并使用kotlin创建新项目。并得到这个错误:Error:Unabletofindmethod'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljav

java - 具有多个参数的 Kotlin lambda

我对kotlinlambda表达式有点困惑。找不到合适的答案。在Java中,我可以使用这样的参数设置监听器:myObject.setListener(newMyListener(){@OverridepublicbooleandoSmth(intpos,intvalue){switch(..){....}}})使用lambda:myObject.setListener((p1,p2)->{switch(..){....}})在Kotlin中我可以这样做:myObject.setListener{p1,p2->return@setListenerfalse}或myObject.setLi

android - 使用 Mockito Kotlin 模拟对象而不是 Stubbing 方法

我有以下代码:@RunWith(MockitoJUnitRunner::class)classOnboardingViewModelTest{@MocklateinitvarauthService:AuthServicelateinitvarinternetProvider:InternetStatusProviderprivatelateinitvarviewModel:OnboardingViewModel@Beforefunsetup(){internetProvider=mock()whenever(internetProvider.hasInternet()).thenRet

android - 为什么这个 BindingAdapter 在 Kotlin 中不起作用?

我有一个ViewModel:valimageUrl=ObservableField()我的布局XML有:我有一个具有顶级函数的BindingAdapters文件:@BindingAdapter("url")funloadImage(view:ImageView,url:String?){...}我收到以下错误:databindingerrormsg:Cannotfindthesetterforattribute'app:url'withparametertypeandroid.databinding.ObservableFieldonandroid.widget.ImageView.知