Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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:从非活动类更新TextView_Java_Android_Android Layout_Textview - Fatal编程技术网

Java Android:从非活动类更新TextView

Java Android:从非活动类更新TextView,java,android,android-layout,textview,Java,Android,Android Layout,Textview,我正在编写一个Android应用程序,我需要显示一些非活动类的结果。 基本上,我的应用程序会获取当前位置、活动和其他信息,并在这些信息上运行一些功能,例如检查用户以前是否去过那个地方。 无论如何,一个意图会触发这些函数,在函数的末尾,我想用这些函数的结果更新一个TextView 但除了主要活动外,它似乎在任何地方都不起作用。我尝试将TextView设置为静态,但这似乎不起作用,而且在中也不可能将结果返回到MainActivity,因为它不是直接从MainActivity调用的 有人对如何解决这个

我正在编写一个Android应用程序,我需要显示一些非活动类的结果。 基本上,我的应用程序会获取当前位置、活动和其他信息,并在这些信息上运行一些功能,例如检查用户以前是否去过那个地方。 无论如何,一个意图会触发这些函数,在函数的末尾,我想用这些函数的结果更新一个TextView

但除了主要活动外,它似乎在任何地方都不起作用。我尝试将TextView设置为静态,但这似乎不起作用,而且在中也不可能将结果返回到MainActivity,因为它不是直接从MainActivity调用的

有人对如何解决这个问题有想法吗?
这是我的第一个android项目,所以还有很多事情我不知道。谢谢大家!

我不知道您的代码到底是什么样子的,但是您是否有一个保存所有数据的模型类(例如,某种单例)?如果是这样,您可以将更新的文本保存在那里,然后在回调方法中更新TextView


如果这不符合您正在做的,我会考虑重构您的代码,以便将您想要的文本发送回MainActivity。您提到该方法不是直接调用的,但是您的计算是否可以将文本传递给中间类,中间类将文本传递给MainActivity?

您不应该更新ui drom后台线程。 如果要从后台线程更新ui,请使用处理程序、AsyncTask或其他一些线程概念


如果您想更新服务或广播接收器的用户界面,例如,您现在在broadcasrReceiver的onReceive内收到一条消息,要更新用户界面,请使用sendBroadcast,并在活动注册表内设置一个动态广播接收器,然后更新

您的问题是否可以使用?理想情况下,您不应该在中定义的视图类(例如活动)之外更新TextView。您所说的非活动类是什么意思?感谢大家迄今为止的回答!我会试着解释更多!在我的MainActivity类中,我实例化了一些类,这些类每分钟(通过Intent)获得一次某种信号。例如,获取当前位置的GPS类。onHandleIntent()然后从另一个调用调用一个函数,该函数根据这些值进行一些计算(例如,检查此人以前是否在该位置),该函数的结果就是我想要显示的结果。我希望这能让事情更清楚一点。我会发布代码,但我真的不知道该发布什么。。