繁体   English   中英

Android开发:尝试获取getStringExtra()时出现java NullPointerException

[英]Android Development: java NullPointerException When Trying To getStringExtra()

在我的主要活动中,我有以下代码调用了FileBrowser活动:

  Intent newFileIntent = new Intent(getBaseContext(), FileBrowser.class);
  newFileIntent.putExtra("action", "browseDirectories");
  startActivityForResult(newFileIntent, 2);

但是,当执行此代码时,我的应用程序强制关闭。 这次我再次打开DDMS来运行该应用程序以查找错误,它是这样的:

11-06 22:01:04.892: ERROR/AndroidRuntime(28287): Caused by: java.lang.NullPointerException
11-06 22:01:04.892: ERROR/AndroidRuntime(28287):     at com.alexprice.devpad.FileBrowser.<init>(FileBrowser.java:17)

这是第17行(位于onCreate之外):

private String action = getIntent().getStringExtra("action");

怎么了? 我不能将putExtra与startActivityForResult一起使用吗? 只能将putExtra与startActivity一起使用吗?

尝试将声明移到onCreate()或任何方法中,这将确保您可以访问意图数据。 在onCreate()之前声明变量,然后再声明任何其他方法,您将无需使用意图的附加内容。

将第17行保留为private String action;

在onCreate()里面

action = getIntent().getStringExtra("action");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM