通过活动传递变量

时间:2014-09-12 21:59:15

标签: android

我正在制作应用,我需要在两个不同的活动之间传递变量。我有一个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)。

我写错了什么人吗?

3 个答案:

答案 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);