2012-12-29 28 views
0

我对PutExtras的意图有些麻烦。你能否查看我的代码?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

请检查@Deepanker乔杜里的答案,请从headinng :) – vnshetty

+0

@vnshetty“folllowed在SO但没有运气的帮助”:这样做,你也有足够的信誉来清洁这些东西。 –

+1

@Sahil是的,但我只是想要LilYoda验证答案,并尝试实施它......无论如何感谢您的建议... – vnshetty

回答

6

从该行

  intent.putExtra("EXT_CATEGORY", category); 

在另一个活动字符串名称应该是相同的手段: -

  public static final String EXT_CATEGORY = "EXT_CATEGORY"; 
+0

随着你的回答我也做了这个,它的工作。 'String category =(String)v.getTag();' – buggydroid

1

您应该使用thi s到让你的信息,而不是getExtras()

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

getExtras()返回附加数据Bundle。你只需要一个整数。

+0

显然,它不起作用。 – buggydroid

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