0

我对 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);
4

3 回答 3

5

从这条线

         intent.putExtra("EXT_CATEGORY", category);

在您的另一个活动中,字符串名称应该是相同的意思:--

         public static final String EXT_CATEGORY = "EXT_CATEGORY";
于 2012-12-29T08:52:51.993 回答
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
于 2012-12-29T09:55:08.110 回答
0

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

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

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

于 2012-12-29T08:53:36.183 回答