0

我想从 ListView Activity 1 Activity 2 传递一个值进行编辑。

我有此代码,但该值未在第二个活动中传递。

活动一

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

活动乙

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 回答