java - 在活动类之外启动活动
问题描述
我有一个名为“MainActivity”的活动类,我正在尝试从 MainActivity 类之外启动一个不同的活动。我试过这个:
MainActivity mainActivityInstance = new MainActivity();
Intent launchPublicChat = new Intent(mainActivityInstance, PublicChat.class);
mainActivityInstance.startActivity(launchPublicChat);
当我尝试时它会抛出这个错误:
java.lang.RuntimeException: Can't create handler inside thread Thread[Thread-3,5,main] that has not called Looper.prepare()
解决方案
您永远不会在 Activity 类上调用 new 。您调用 context.startActivity() 并且框架会为您调用 new。如果您没有需要它的上下文,请以某种方式将其作为参数传递。但是您不能新建一个活动实例并使其工作。
推荐阅读
- solr - 关于solr版本:8.5.2错误:调用SolrCmdDistributor时出错cmd=add{,id=(null),commitWithin=3000}
- django - 带有验证的 Django 自定义表单
- scala - 如何在 if-else 条件下的列中使用 Spark 值 - Scala
- c# - 更新 SendGrid SMTP API C# ASP.NET
- mac-address - 使用 XL710 NIC SRIOV 时,vm 端的 MAC 地址更改不会反映在 HOST 端
- html - 背景颜色高亮
- javascript - 从 API 获取数据后 FlatList 保持空白
- python - Discord.py 音乐机器人程序
- c# - Blazor Keras.net 仅第一次运行
- php - 在 PHPUnit 中测试时如何忽略 Controller 中的某些方法