2

在此处输入图像描述我正在关注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

4 回答 4

1

对于意图,建议(如果不需要)使用完全限定名称(以包为前缀)。简单的字符串键更常与 Bundle 相关联。

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

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

哦,还有……

如果没有来自 LogCat 的错误堆栈跟踪,就不可能诊断出您的问题。

于 2012-10-21T06:53:14.253 回答
1

你可以这样使用:-

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

&访问消息的值在另一个活动中: -

String message=getIntent().getExtra().getString("Extra_Message");
于 2012-10-21T06:36:26.577 回答
0

您正在尝试在类主体中创建一个意图。这不可能。

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

首先,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);
}

并在关闭括号后删除代码。

于 2016-03-16T03:46:52.297 回答
0

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

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

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() 方法采用第一个参数中的键名和第二个参数中的值。

于 2016-03-16T03:38:27.360 回答