Reputation: 31
I'm having some difficulty getting the intent's extras to be passed between activities. I'm a beginner at android and even this small thing is really bothering me.
I'm trying to pass the information entered into the EditText in MyActivity.java to the TextView in DisplayMessageActivity.java when I press a button.
Here's the MyActivity.java code:
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);
}
And here's the code for 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);
}
If anyone could tell me what is happening, that would be great. Thanks!
Upvotes: 0
Views: 85
Reputation: 3025
In dispalyActivity
you can use this code
Bundle b = getIntent().getExtra();
String message = b.getString("message name");
instead of
Intent message_send = getIntent();
String message = message_send.getStringExtra(MyActivity.EXTRA_MESSAGE);
Upvotes: 0
Reputation: 9625
DisplayMessageActivity
is creating a new TextView
and setting the passed-in message, but the new TextView
is not displayed anywhere.
most likely, instead of creating a new TextView
, you'll want to setContentView
first, and then call findViewById
to locate your TextView
.
the string passing code is all correct.
@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);
}
Upvotes: 2