我正在关注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)
看到语法错误。代码有什么问题?
答案 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);
}
关闭括号后删除代码。