intent.putExtra(...)中的语法错误

时间:2012-10-21 06:19:49

标签: android eclipse-juno

enter image description here我正在关注http://developer.android.com/training/basics/firstapp/starting-activity.html的开发指南。我写了以下代码:

Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);

在最后一行,我在=intent.putExtra(EXTRA_MESSAGE, message)看到语法错误。代码有什么问题?

4 个答案:

答案 0 :(得分:1)

您可以这样使用: -

intent.putExtra=("Extra_Message",message);

&安培;从另一个活动中访问消息的值: -

String message=getIntent().getExtra().getString("Extra_Message");

答案 1 :(得分:1)

使用意图,建议(if not required)使用完全限定名(包含前缀)。简单的字符串键通常与Bundles相关联。

// Intent
intent.putExtra("com.my.example.EXTRA_IDENTIFIER", myValue);

// Bundle
bundle.putExtra("FavFruit", mApple);

哦,还有......

如果没有来自LogCat的错误的堆栈跟踪,就无法诊断您的问题。

答案 2 :(得分:0)

您错过了为EXTRA_MESSAGE定义值的步骤。

将文本分配给本地消息变量,并使用putExtra()方法将其文本值添加到intent。

<强>的java / com.mycompany.myfirstapp / MyActivity.java

public void sendMessage(View view) {
  Intent intent = new Intent(this, DisplayMessageActivity.class);
  EditText editText = (EditText) findViewById(R.id.edit_message);
  String message = editText.getText().toString();
  intent.putExtra(EXTRA_MESSAGE, message);
}

Intent可以将数据类型作为名为extras的键值对进行传输。 putExtra()方法获取第一个参数中的键名称和第二个参数中的值。

答案 3 :(得分:0)

您正在尝试在类体中创建一个intent。这是不可能的。

您必须创建意图并在方法中启动活动。

首先,如果未定义,请在顶部定义EXTRA_MESSAGE

public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE";

然后像这样编辑你的sendMessage方法

public void sendMessage(View view) {
  Intent intent = new Intent(this, DisplayMessageActivity.class);
  EditText editText = (EditText) findViewById(R.id.edit_message);
  String message = editText.getText().toString();
  intent.putExtra(EXTRA_MESSAGE, message);
}

关闭括号后删除代码。