首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在未调用Android-5中的Looper.prepare()旋转器的线程内创建处理程序

无法在未调用Android-5中的Looper.prepare()旋转器的线程内创建处理程序
EN

Stack Overflow用户
提问于 2020-12-01 16:36:59
回答 1查看 43关注 0票数 0

在Android 5中制作动态UI时遇到了这个问题,尽管也尝试过xml (在6-11上工作)。任何帮助都将不胜感激。

代码语言:javascript
复制
     val spinner = Spinner(context) //ViewFactory.kt:186
     val spinnerAdapter = ArrayAdapter(context, R.layout.spinner_item, options)
     spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
     spinner.adapter = spinnerAdapter

崩溃日志

代码语言:javascript
复制
  java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
    at android.os.Handler.<init>(Handler.java:200)
    at android.os.Handler.<init>(Handler.java:114)
    at android.widget.ListPopupWindow.<init>(ListPopupWindow.java:106)
    at android.widget.Spinner$DropdownPopup.<init>(Spinner.java:1063)
    at android.widget.Spinner.<init>(Spinner.java:205)
    at android.widget.Spinner.<init>(Spinner.java:144)
    at android.widget.Spinner.<init>(Spinner.java:129)
    at android.widget.Spinner.<init>(Spinner.java:102)
    at com.ro.ViewFactoryKt.buildSpinnerView(ViewFactory.kt:186)
    at com.ro.factory.ViewFactoryKt.buildSpinnerView$default(ViewFactory.kt:180)
    at com.ro.factory.LayoutFactoryKt.getSurveyDropdown(LayoutFactory.kt:153)
    at com.ro.Model.getSurveyLayout(SurveyModel.kt:793)
    at com.ro.api.SurveyAPI$getSurveyLayout$2.invokeSuspend(SurveyAPI.kt:159)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:738)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
EN

回答 1

Stack Overflow用户

发布于 2020-12-01 17:26:38

您很可能是在WorkerThread (而不是UI)上调用代码。将您的代码移动到MainThread,错误就会消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65087113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档