为什么onResume()运行两次,其次是null

时间:2016-03-22 08:53:23

标签: android fragment nullreferenceexception android-tabs onresume

我收到错误Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference,这是由我的onResume()方法运行两次造成的。

包含少量标签的MainFragment导致了它。

为什么呢?有什么想法吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果onResume被调用两次,那么onCreateonStart就是 再次被呼叫或在onPause次呼叫之间呼叫onResume。如果您发现这些可能性中的哪一种,它将提供关于正在发生的事情的线索。您可以通过在3种方法中设置断点来找到它们。

有多种原因可能导致其中一种可能性发生,而且没有看到更多细节(片段/活动代码,AndroidManifest,用户行为),我只需要列出其中一些。

  1. 另一项活动正在开始,然后结束。这可能是您没有看到的活动,例如请求使用资源的活动。
  2. 旋转设备(以及onCreateonStart
  3. 活动/片段正在从其他地方重新启动。
  4. 如果我的回答没有帮助,请提供更多代码。