我对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);
答案 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
个数据。您只需要一个整数。