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追加のデータを返します。必要な整数は1つだけです。

于 2012-12-29T08:53:36.183 に答える