Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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/3/android/214.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中事件处理程序中的NullPointerException_Java_Android_Events_Nullpointerexception - Fatal编程技术网

Java中事件处理程序中的NullPointerException

Java中事件处理程序中的NullPointerException,java,android,events,nullpointerexception,Java,Android,Events,Nullpointerexception,在我的Android应用程序中,我有一个从另一个线程调用的事件处理程序。当调用处理程序时,我的一些私有字段为null,因此我得到一个NullPointerException,因为我试图从null对象访问一个方法。我看不出为什么它们会为null,因为我之前实例化了字段,并且没有在其他任何地方设置字段 这可能与交叉线程有关吗?字段在一个线程中设置,但被另一个线程访问。。?不,是吗?它们不应该为空。。我快发疯了,但这可能是一个我现在无法发现的小错误 我想当你没有代码的时候很难回答,但是我不能在这里发布

在我的Android应用程序中,我有一个从另一个线程调用的事件处理程序。当调用处理程序时,我的一些私有字段为null,因此我得到一个NullPointerException,因为我试图从null对象访问一个方法。我看不出为什么它们会为null,因为我之前实例化了字段,并且没有在其他任何地方设置字段

这可能与交叉线程有关吗?字段在一个线程中设置,但被另一个线程访问。。?不,是吗?它们不应该为空。。我快发疯了,但这可能是一个我现在无法发现的小错误


我想当你没有代码的时候很难回答,但是我不能在这里发布我的整个解决方案。也许有人能给我指出正确的方向,让我知道该找什么?

我终于找到了解决办法。我发现Android两次启动我的活动。显然,在一个活动中,对象的状态很好,但在另一个活动中,我的字段为null

当设备的方向改变时,安卓显然会停止活动并启动另一个活动。我找到了解决办法并


感谢你们的帮助,尽管你们的帮助不多。

要更快地获得更好的帮助,请提供一个。你们确定这是另一个
线程吗?这不是一项
活动
?在任何情况下,如果您引用的字段是
null
,您应该检查对象是否为null,或者这些字段是否为null。这些是Android系统事件,比如MotionEvent吗?如果是,则它们位于应用程序的事件线程上。另一条线是什么?您可能需要提供一些代码——不是整个解决方案,而是活动的相关部分以及其他线程。@Pheonixblade9该对象在我的活动类中创建为私有字段,然后由另一个线程在我的活动中使用getter访问。那会是个问题吗?那绝对会是个问题。您需要确保使用的是
runOnUIThread(newrunnable(){})如果您正在从另一个线程访问绑定到UI线程的资源。