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) Finishing the User Interface Using a Model in the Controller

Use the method to get the number of passengers, and then set the text for mPassengerField to this value

I dont really know what they know what is wrong

LandingActivity.java
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class LandingActivity extends Activity {

    public Button mThrustButton;
    public TextView mTypeLabel;
    public EditText mPassengersField;

    public Spaceship mSpaceship;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_landing);

        mThrustButton = (Button)findViewById(R.id.thrustButton);
        mTypeLabel = (TextView)findViewById(R.id.typeTextView);
        mPassengersField = (EditText)findViewById(R.id.passengersEditText);

        // Add your code here!
      mSpaceship = new Spaceship("FIREFLY");
      mTypeLabel.setText(mSpaceship.getType());

      mPassengersField = Integer.toString(mSpaceship.getNumPassengers());
    }
}
Spaceship.java
public class Spaceship {
    private String mType;
    private int mNumPassengers = 0;

    public String getType() {
      return mType;
    }

    public void setType(String type) {
      mType = type;
    }

    public int getNumPassengers() {
      return mNumPassengers;
    }

    public void setNumPassengers(int numPassengers) {
      mNumPassengers = numPassengers;
    }

    public Spaceship() {
      mType = "SHUTTLE";
    }

    public Spaceship(String type) {
      mType = type;
    }
}

2 Answers

Jack Middlebrook
Jack Middlebrook
19,746 Points

Looks like you are close. Instead of setting mPassengersField = Integer.toString(mSpaceship.getNumPassengers()) you need to set the text of mPassengersField. To do this you can call mPassengersField.setText() passing in a String similar to what you did in mTypeLabel.

mPassengersField.setText(IntAsString(mSpaceship.getNumPassengers().getType()) is this correct?

Jack Middlebrook
Jack Middlebrook
19,746 Points

What you are passing to setText doesn't look quite right. You don't need the getType() after getNumPassengers(). What I ended up with is the following:

mPassengersField.setText(Integer.toString(mSpaceship.getNumPassengers()));
luis martinez
luis martinez
2,480 Points

can you do

mPassengersField.setText(Integer.parseInt(mSpaceship.getNumPassengers()));