Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android Build an Interactive Story App (Retired) Intents and Multiple Activities Putting Data in an Intent

intent

Challenge Task 1 of 1

We've updated our LaunchActivity to include a fuel level (mFuelLevel) for the spacecraft. This value needs to be passed to the FlightActivity. Add the code to pass this value along via the Intent. Use the key "FUEL_LEVEL"

WHERE AM I GETTING IT WRONG

LaunchActivity.java
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class LaunchActivity extends Activity {

  public Button mLaunchButton;
  public int mFuelLevel;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_launch);

    // mFuelLevel is set elsewhere.
    // Code ommitted for brevity!

    mLaunchButton = (Button)findViewById(R.id.launchButton);
    mLaunchButton.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
      intent.putExtra("FUEL_LEVEL",mFuelLevel);
        Intent intent = new Intent(LaunchActivity.this, FlightActivity.class);
        startActivity(intent);
      }
    });
  }
}
Exavier Mugasa
Exavier Mugasa
4,088 Points

I am also stuck on this challenge. Can someone kindly help?

5 Answers

Daniel Babbev
Daniel Babbev
10,354 Points

You are calling the intent with the putExtra() function before it's created. The compiler can't know about the object "intent" you are calling. The correct code looks like:

public void onClick(View v) { 
        Intent intent = new Intent(LaunchActivity.this, FlightActivity.class); //First we create the intent itself
        intent.putExtra("FUEL_LEVEL",mFuelLevel);  //Then we call the putExtra() method on the existing intent
        startActivity(intent);
      }

thank you so much!!!

Intent intent = new Intent(LaunchActivity.this, FlightActivity.class); intent.putExtra("FUEL_LEVEL", fuelLevel); startActivity(intent);

Intent intent = new Intent(LaunchActivity.this, FlightActivity.class); intent.putExtra("FUEL_LEVEL",mFuelLevel);
startActivity(intent);

why is my code not passing

fuelLevel passes not mFuelLevel

thanks Munemo

Can you assist on that question. Mstill getting a bummer i tried making the abv corrections bt still no change