0

編集のために ListView Activity 1 Activity 2 から値を渡したいと思います。

このコードはありますが、2 番目のアクティビティで値が渡されません。

アクティビティA

Intent i = new Intent(this, Modifica_entrate.class);      
Bundle extras = new Bundle();
extras.putString (tv1.getText().toString(), data);
i.putExtras(extras);

アクティビティ B

Bundle extras = getIntent().getExtras(); 
String valuePass = extras.getString("data");
mDataScelta.setText(i.getExtras().getString(valuePass));
4

1 に答える 1

3

キーと値を少し混同しています。

最初のパラメータ:

extras.putString (tv1.getText().toString(), data);

ここのパラメータと一致する必要があります:

String valuePass = extras.getString("data");

したがって、そこにあるコードは、キーtv1.getText().toString()を持つ文字列を配置します。つまり、テキストボックスに入力したテキストを取得し、それをキーとして使用します (これはおそらく意図したものではありません)。このキーには、変数の値を data入れています。次に、キーを取得しようとします(と は同じものではない"data"ことに注意してください)。data"data"

したがって、あなたが望むのはおそらく次のとおりです。

extras.putString("data", tv1.getText().toString());

そして、次のように取得できます。

mDataScelta.setText(i.getStringExtra("data"));
于 2013-11-05T22:40:39.953 に答える