[英]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.