putExtra和getStringExtra的问题

时间:2015-04-06 05:15:07

标签: android

我刚开始学习Android应用程序开发。我正在研究网站http://developer.android.com/training/basics/firstapp/index.html

中的android教程中的示例

将文本从MyActivity页面发送到DiplayMessageActivity

String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE); 

返回null作为值。

以下是我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);
    String message1 = intent.getStringExtra(EXTRA_MESSAGE);
    startActivity(intent);
}

在某种程度上,我可以阅读putExtragetStringExtra()方法,但我无法解决此问题。我可能会错过很小的东西,但无法追查。

有人可以帮我解决这个问题吗?

4 个答案:

答案 0 :(得分:2)

像这样使用:

String message1 = intent.getStringExtra("EXTRA_MESSAGE");

您在EXTRA_MESSAGE ConstantgetStringExtra String中使用putExtra作为Constant。因此要么使用Literal,要么使用{{1}} Name。

答案 1 :(得分:0)

如下所示发送信息

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);
startActivity(intent);

}

在DisplayMessageActivity.class中获取此消息,如下所示

Intent in=getIntent();
String message1 = in.getStringExtra("EXTRA_MESSAGE");

答案 2 :(得分:0)

而不是String message1 = intent.getStringExtra(EXTRA_MESSAGE); 使用String message1 = getIntent().getStringExtra(EXTRA_MESSAGE);

答案 3 :(得分:-1)

检查当你在意图中放入“EXTRA_MESSAGE”然后你使用不同的常量可能是MyActivity.EXTRA_MESSAGE具有不同的值