putExtras中的空指针

时间:2012-12-29 08:49:51

标签: android android-intent nullpointerexception

我对putExtras有一些麻烦。你能查一下我的代码吗?

 public void onSelectCategory(View v) {
    int category = Integer.parseInt((String) v.getTag());
    Intent intent = new Intent(HomeActivity.this, ListActivity.class);
    intent.putExtra("EXT_CATEGORY", category);
    startActivity(intent);
}

在ListActivity中,我正在做以下事情......

public static final String EXT_CATEGORY = "category";
int category = getIntent().getExtras().getInt(EXT_CATEGORY);

3 个答案:

答案 0 :(得分:5)

从这一行

         intent.putExtra("EXT_CATEGORY", category);

在你的另一个活动中字符串名称应该相同意味着: -

         public static final String EXT_CATEGORY = "EXT_CATEGORY";

答案 1 :(得分:1)

你犯了几个错误,这是你的代码的过度工作版本。

 public void onSelectCategory(View v) {
    int category = Integer.parseInt((String) v.getTag());
    Intent intent = new Intent(HomeActivity.this, ListActivity.class);
    intent.putExtra(EXT_CATEGORY, category);
    startActivity(intent);
}

int defaultCat = -1;
public static final String EXT_CATEGORY = "category";
int category = getIntent().getIntExtra(EXT_CATEGORY,defaultCat); // Use default int if there is no extra

答案 2 :(得分:0)

您应该使用它来获取信息,而不是getExtras()

int category = getIntent().getIntExtra("EXT_CATEGORY");

getExtras()会返回额外的Bundle个数据。您只需要一个整数。