我想从ListView Activity 1 Activity 2传递一个值进行编辑。
我有这段代码但是第二个Activity中没有传递该值。
ACTIVITY A
Intent i = new Intent(this, Modifica_entrate.class);
Bundle extras = new Bundle();
extras.putString (tv1.getText().toString(), data);
i.putExtras(extras);
ACTIVITY B
Bundle extras = getIntent().getExtras();
String valuePass = extras.getString("data");
mDataScelta.setText(i.getExtras().getString(valuePass));
答案 0 :(得分: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"));