我正在制作应用,我需要在两个不同的活动之间传递变量。我有一个TextEdit,我在其中保存条目以将其传递给另一个活动。这是我的代码:
活动" textEdit" (让我们这样称呼......):
if (editText_descriptionHomework.getText().toString().matches("")){
Toast.makeText(getApplicationContext(), messErr_noInput, Toast.LENGTH_LONG).show();
}
else {
Intent i = new Intent(getApplicationContext(), MainActivity.class);
String descr = editText_descriptionHomework.getText().toString();
i.putExtra(description, descr);
finish();
startActivity(i);
}
这是"主要活动" (我想在其中显示此数据):
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("description");
Toast.makeText(getApplicationContext(), value, Toast.LENGTH_LONG).show();
}
所以,如果我什么也没说,我正确地告诉他"错误blablabl",但是如果我放了一些东西,我点击了触发" textEdit活动的按钮"代码,它什么都不显示(黑色烤面包没有caracters)。
我写错了什么人吗?
答案 0 :(得分:3)
应该是:
i.putExtra("description", descr);
你的没有报价...
答案 1 :(得分:1)
应该是这样的
i.putString("description", descr);
你忘记了引号
答案 2 :(得分:1)
首先,最好将其替换为:
if (editText_descriptionHomework.getText().toString().matches(""))
通过
if (editText_descriptionHomework.getText().toString().idEmpty())
这样你确保EditText为空,.match就像preg_match但是对于android 现在要获取该值,请尝试以下方法:
String value = getIntent().getExtrasString("description");
或
String value = getIntent().getExtras().getString("description");
最后替换:
i.putExtra(description, descr);
通过
i.putExtra("description",descr);