当前位置: 首页 > 知识库问答 >
问题:

Android:Intent#getExtras()始终为null,没有任何帮助

洪知
2023-03-14

当我在活动中创建新意图时:

Intent myIntent = new Intent(this, TargetActivity.class);
// apply hacks explained in above stackoverflow answers
System.out.println(myIntent.getExtras())

(此代码位于默认的空白活动中)

Intent#getExtras()始终为null,因此,Intent#putextas(…)会立即导致null点异常。然而,启动意图没有任何问题。

我已经阅读了所有关于这个主题的类似stackoverflow帖子:

  • https://stackoverflow.com/a/6357330

我都试过了,但似乎都没有效果。

有谁能提供一个解决方案,简单地用非空的额外项启动一个意图,它总是有效的?

或者,是否有任何其他方法可以向Intent提供干净且不泄漏的额外信息?

共有1个答案

籍昱
2023-03-14

好的,我找到问题了。感谢@DanielNugent指出Intent处理的规范答案。

问题是:当我这么做的时候

myIntent .putExtra("myVar", myVar);

myVarnull

我真蠢,我没有仔细检查一下,然后惊慌失措,把Android的愚蠢之处放在这确实会导致立即的空点异常(NullPointerException)!如果你不相信我,请你自己试试。

@谢谢,我没意识到。

 类似资料:
  • 问题内容: 我正在编写一个C#ASP.Net MVC应用程序,供客户端将文件发布到其他服务器。我正在使用通用处理程序来处理从客户端到服务器的发布文件。但是在我的处理程序中,System.Web.HttpContext.Current.Request.Files始终为空(0个计数)。 表格代码: 处理程序: 请帮我。谢谢。 问题答案: 最后,我发现了问题。 由于某些原因,控制器中的代码永远无法正常工

  • 问题内容: 我使用firefox 3.6.10和firebug进行调试 所以,这是我的代码: responseXML 始终为null,我已经尝试了来自不同域的多个URL。我也异步地尝试过,结果是一样的。该 responseText的 总是正确返回,与它没有任何问题。 我的目标是获取 responseXML.documentElement 。 谢谢你的帮助。 编辑----------- 此javas

  • 问题内容: 我最近已经从Elasticsearch 1.7切换到2.0,我注意到您设置客户端的方式已经改变。我仔细阅读了文档,由于某种原因,客户端始终为空。我想知道我是否正确设置了它。 这是我的代码: 问题答案: 如评论中所述,但有一些更详细的信息:Elasticsearch 2.0使用Guava 18.0(请参阅https://github.com/elastic/elasticsearch/p

  • null 直到今天(AFAIK--我有一段时间没有测试过),Firebase云消息传递工作得很好。我可以从Firebase控制台发送带有数据的通知,并且使用将允许我从应用程序访问这些数据。 然而,今天我发送了一个测试通知,但是点击它并没有执行预期的操作。经过一番挖掘,我发现只是返回。以下是相关代码: (这个方法是从主活动中的和调用的。) 我怀疑这与Firebase11 vs 10有关,或者这款应用

  • 问题内容: 我将尝试使用JavaFX 2,并使用一个简单的演示应用程序。该项目包括3个文件,即Main.java,Controller.java和sample.fxml。 在Sample.fxml中,我声明了控制器: 在我的Main.java中,我尝试访问控制器 所以我的第一个想法是映射不起作用。因此,我在控制器中添加了一个initialize方法。 现在的输出是: 在里面 空值 所以我现在的问题

  • 问题内容: 当我使用下面的ajax调用下面的Post方法时,为什么参数总是为null? 这是通过ajax对Web API方法的调用: 问题答案: 基本上,您只能有一个标量类型的参数,该参数用属性装饰,并且您的请求需要使用,并且POST有效负载应如下所示: 请注意,与标准协议相反,缺少参数名称。您仅发送值。 您可以在中阅读有关Web Api中的模型绑定如何工作的更多信息。 但是,当然,这种黑客入侵是