Android开发:尝试getStringExtra()时尝试java NullPointerException

时间:2010-11-06 22:29:33

标签: java android android-activity nullpointerexception

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

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

但是当这段代码执行时,我的app力就会关闭。 这次我再次运行应用程序,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一起使用吗?

1 个答案:

答案 0 :(得分:3)

尝试在onCreate()或任何方法中移动声明,这将确保您可以访问intent数据。在onCreate()之前声明变量,因此在任何其他方法之前声明变量,你将无法获得意图附加内容。

将第17行留作private String action;

在onCreate()

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