我很难在活动之间传递意图的额外内容。我是android的初学者,即使这个小东西真的很困扰我。
当我按下按钮时,我试图将输入到MyActivity.java中的EditText的信息传递给DisplayMessageActivity.java中的TextView。
这是MyActivity.java代码:
public class MyActivity extends Activity {
public final static String EXTRA_MESSAGE = "myfirstapp.example.com.myapplication.MESSAGE";
public void sendMessage(View view) {
Intent message_send = new Intent(this, DisplayMessageActivity.class);
EditText edit_message = (EditText) findViewById(R.id.edit_message);
String message = edit_message.getText().toString();
message_send.putExtra(EXTRA_MESSAGE, message);
MyActivity.this.startActivity(message_send);
}
这是DisplayMessageActivity.java的代码:
public class DisplayMessageActivity extends Activity {
@Overide
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent message_send = getIntent();
String message = message_send.getStringExtra(MyActivity.EXTRA_MESSAGE);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
setContentView(R.layout.activity_display_message);
}
如果有人能告诉我发生了什么,那就太好了。谢谢!
答案 0 :(得分:2)
DisplayMessageActivity
正在创建新的TextView
并设置传入的消息,但新的TextView
不会显示在任何位置。
最有可能的是,您不是先创建新TextView
,而是先setContentView
,然后致电findViewById
找到您的TextView
。
字符串传递代码都是正确的。
@Overide
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
Intent message_send = getIntent();
String message = message_send.getStringExtra(MyActivity.EXTRA_MESSAGE);
TextView textView = (TextView) findViewById(R.id.my_text_view);
textView.setTextSize(40);
textView.setText(message);
}
答案 1 :(得分:0)
在dispalyActivity
中,您可以使用此代码
Bundle b = getIntent().getExtra();
String message = b.getString("message name");
而不是
Intent message_send = getIntent();
String message = message_send.getStringExtra(MyActivity.EXTRA_MESSAGE);