1つのアクティビティから別のアクティビティに2つの変数を渡す必要があります。私は最初の活動のために、以下のいるputExtras複数のputStringが機能しない
:
@Override
public boolean onContextItemSelected(MenuItem item) {
Bundle bundle=new Bundle();
switch (item.getItemId()){
case 1:
bundle.putString(drinkButton, "4");
bundle.putString(drinkType, "1");
Intent myIntent1 = new Intent(this, DrinksList.class);
myIntent1.putExtras(bundle);
startActivityForResult(myIntent1, 0);
return true;
case 2:
bundle.putString(drinkButton, "1");
bundle.putString(drinkType, "2");
Intent myIntent2 = new Intent(this, DrinksList.class);
myIntent2.putExtras(bundle);
startActivityForResult(myIntent2, 0);
return true;
}
return false;
その後、私は戻って値を取得するために、これを使用しますが、両方の値が「drinkType」ケース1 Iと同じ、すなわち同じ第二の活動で両方とも「1」を得て、ケース2私は4,1と1,2を得ることを期待しているときに両方に対して「2」を得る。
Bundle extras = getIntent().getExtras();
drinkButton = extras.getString(drinkButton);
drinkType = extras.getString(drinkType);
Toast.makeText(this, "drink Button = "+drinkButton+" Drink Type = "+drinkType, Toast.LENGTH_LONG).show();
}
私は複数の余分なものを渡すことはできないようです。何か案は?
'drinkButton'と' drinkType'文字列の値を 'String drinkButton ="として初期化するときにdoubleをチェックしますか? "; ' –
Ass Adilが示唆しているように、drinkButtonとdrinkTypeのString値を確認してください。私は彼らが同じ価値を感じている。なぜなら、2番目のputString(drinkType、 "1/2")が最初のputString(drinkButton、 "4/1")を上書きするのと同じように、ケース1の場合は1、ケース2の場合は2のようになります。 putString( "drinkButton"、 "4/1")とputString( "drinkType"、 "1/2")を持つことを意味しますか? –
同じ結果が得られるかどうかを調べるために文字列変数を使用する代わりに、文字列値をキーとしてハードコーディングしてみましたか? – bschultz