Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建Android活动类的对象_Java_Android - Fatal编程技术网

Java 创建Android活动类的对象

Java 创建Android活动类的对象,java,android,Java,Android,我有一个扩展活动的类,我试图在普通java类中创建该类的对象,但它引发了一个异常: 无法在未调用looper.prepare的线程内创建处理程序 我做错了什么 提前感谢。处理程序在创建它的任何线程中运行。因此,如果您没有在UI线程中创建新类的实例,那么处理程序没有在UI线程中运行,您将遇到问题 有一次我试着在一个房间里给GUI充气 分离线程以提高性能 原因。我一点也没碰窗户 那一点,但当我充气时 同样的错误信息,我只是跑了 活套。在我的线程和所有准备 他很好 循环器运行线程的消息循环。如果你不打

我有一个扩展活动的类,我试图在普通java类中创建该类的对象,但它引发了一个异常:

无法在未调用looper.prepare的线程内创建处理程序

我做错了什么


提前感谢。

处理程序在创建它的任何线程中运行。因此,如果您没有在UI线程中创建新类的实例,那么处理程序没有在UI线程中运行,您将遇到问题

有一次我试着在一个房间里给GUI充气 分离线程以提高性能 原因。我一点也没碰窗户 那一点,但当我充气时 同样的错误信息,我只是跑了 活套。在我的线程和所有准备 他很好

循环器运行线程的消息循环。如果你不打电话 Looper.prepare然后在线程中Looper.loop,该线程 不会有消息循环,因此不能有接受 信息

你应该仔细阅读android应用程序的最新版本

我想不出一个需要自己创建活动对象的例子。您应该使用Context.startActivity调用来启动活动

无论如何,为了回答您的问题,一个活动使用一个处理程序实现了一个消息队列,在这个处理程序中,可以将消息发送到活动的运行线程以执行某些任务。这意味着执行活动代码的线程会一直等待这些消息,例如用户对应用程序UI的响应。为了做到这一点,您需要使用一个循环器线程,该线程循环或以某种方式等待消息执行操作。应用程序的主线程(也呈现应用程序的UI)是一个活套线程


如果出于某种原因,您需要手动创建活动对象,那么您应该重新考虑如何设计应用程序。使用startActivity是所需的一切。

当你不想发帖详细的问题时,你到底希望有人如何帮助你?