/* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.example.android.explicitintent; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; public class ChildActivity extends AppCompatActivity { /* Field to store our TextView */ private TextView mDisplayText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_child); /* Typical usage of findViewById... */ mDisplayText = (TextView) findViewById(R.id.tv_display); // COMPLETED (3) Use the getIntent method to store the Intent that started this Activity in a variable /* * Here is where all the magic happens. The getIntent method will give us the Intent that * started this particular Activity. */ Intent intentThatStartedThisActivity = getIntent(); // COMPLETED (4) Create an if statement to check if this Intent has the extra we passed from MainActivity /* * Although there is always an Intent that starts any particular Activity, we can't * guarantee that the extra we are looking for was passed as well. Because of that, we need * to check to see if the Intent has the extra that we specified when we created the * Intent that we use to start this Activity. Note that this extra may not be present in * the Intent if this Activity was started by any other method. * */ if (intentThatStartedThisActivity.hasExtra(Intent.EXTRA_TEXT)) { // COMPLETED (5) If the Intent contains the correct extra, retrieve the text /* * Now that we've checked to make sure the extra we are looking for is contained within * the Intent, we can extract the extra. To do that, we simply call the getStringExtra * method on the Intent. There are various other get*Extra methods you can call for * different types of data. Please feel free to explore those yourself. */ String textEntered = intentThatStartedThisActivity.getStringExtra(Intent.EXTRA_TEXT); // COMPLETED (6) If the Intent contains the correct extra, use it to set the TextView text /* * Finally, we can set the text of our TextView (using setText) to the text that was * passed to this Activity. */ mDisplayText.setText(textEntered); } } }