Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Getting data from an intent
- // w/o the comments:
- public class MainActivity extends ActionBarActivity {
- private EditText mNameField;
- private Button mStartButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- mNameField = (EditText)findViewById(R.id.nameEditText);
- mStartButton = (Button)findViewById(R.id.startButton);
- mStartButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String name = mNameField.getText().toString();
- startStory(name);*
- });
- }
- *private void startStory(String name);
- Intent intent = new Intent(this, StoryActivity.class);
- Intent.putExtra("name", name);
- startActivity(intent);
- }
- //-------------------------------------------------------------------------------------------------------------------------------------
- StoryActivity.java
- public class StoryActivity extends Activity {
- public static final String TAG = story Activity.class.getSimpleName();
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_story);
- Intent intent = getIntent();
- String name = intent.getStringExtra("name");
- Log.d(TAG, name);
- if (name == null) {
- name = "Friend";
- }
- }
- //-------------------------------------------------------------------------------------------------------------------------------------
- //-------------------------------------------------------------------------------------------------------------------------------------
- //-------------------------------------------------------------------------------------------------------------------------------------
- //-------------------------------------------------------------------------------------------------------------------------------------
- // w/ the comments:
- public class MainActivity extends ActionBarActivity {
- private EditText mNameField;
- private Button mStartButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- mNameField = (EditText)findViewById(R.id.nameEditText);
- mStartButton = (Button)findViewById(R.id.startButton);
- mStartButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- String name = mNameField.getText().toString();
- startStory(name);*
- });
- }
- *private void startStory(String name);
- Intent intent = new Intent(this, StoryActivity.class);
- Intent.putExtra("name", name);
- startActivity(intent);
- }
- //-------------------------------------------------------------------------------------------------------------------------------------
- StoryActivity.java
- public class StoryActivity extends Activity {
- public static final String TAG = story Activity.class.getSimpleName();
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_story);
- Intent intent = getIntent(); //this will return the intent that started this activity.
- String name = intent.getStringExtra("name"[1]); //intent.getStringExtra(key) //put "String name = " in front to store it in a String variable.
- Log.d(TAG, name);
- // So the first thing we can do to avoid a hard crash (from confusing "name"[1] with "Name") is add a null check around this
- // call to get string extra.
- // This is a good practice to do whenever we're getting data from an intent:
- if (name == null) {
- name = "Friend"; // now no matter what when we call this log statement our name variable will have a value.
- }
- }
- //-------------------------------------------------------------------------------------------------------------------------------------
- //https://teamtreehouse.com/library/build-an-interactive-story-app/intents-and-multiple-activities/getting-data-from-an-intent
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement