我的主要活动包含一个EditText和一个按钮。 我想通过按下按钮将EditText中写入的内容发送到下一个启动的活动。
在第一项活动中我有这个:
Intent i = new Intent(firstActivity.this, secondActivity.class);
i.putExtra("myString", theEditText.getText());
startActivity(i);
到目前为止一切顺利。在第二个活动中,我使用了这个:
Bundle bundle = getIntent().getExtras();
myRecivedString = bundle.getString("myString")
但是这里myRecivedString变空了。
有什么建议吗?
答案 0 :(得分:2)
请参见EditText的getText()方法返回Editable类的对象。 因此,如果要传递EditText中包含的字符串,则必须使用toString()。
请参阅此处的示例:
thisEditText.getText().toString();
因此,您第一个活动中的代码应如下所示:
Intent i = new Intent(firstActivity.this, secondActivity.class);
i.putExtra("myString", theEditText.getText().toString());
startActivity(i);
答案 1 :(得分:1)
只需使用theEditText.getText().toString();
即可。您可以使用edittext
。
答案 2 :(得分:0)
将i.putExtra("myString", theEditText.getText());
更改为i.putExtra("myString", theEditText.getText().toString())
;