Android Build an Interactive Story App Finishing the User Interface Using a Model in the Presenter

Tetsuya Uno
Tetsuya Uno
21,024 Points

incompatible types: String cannot be converted to TextView

How can I convert String to TextView? Is this a right way to solve the quiz?

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

public class LandingActivity extends AppCompatActivity {

    public Button thrustButton;
    public TextView typeLabel;
    public EditText passengersField;

    public Spaceship spaceship;

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

        thrustButton = (Button)findViewById(R.id.thrustButton);
        typeLabel = (TextView)findViewById(R.id.typeTextView);
        passengersField = (EditText)findViewById(R.id.passengersEditText);

        // Add your code here!
        spaceship = new Spaceship();
        typeLabel = spaceship.getShipType();
    }
}
Spaceship.java
public class Spaceship {
    private String shipType;
    private int numPassengers = 0;

    public String getShipType() {
      return shipType;
    }

    public void setShipType(String shipType) {
      this.shipType = shipType;
    }

    public int getNumPassengers() {
      return numPassengers;
    }

    public void setNumPassengers(int numPassengers) {
      this.numPassengers = numPassengers;
    }

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

    public Spaceship(String shipType) {
      this.shipType = shipType;
    }
}

1 Answer

Anthony Murray
Anthony Murray
931 Points

The issue you're experiencing comes from this line of code:

typeLabel = spaceship.getShipType();

What you're currently trying to do is assign a value of type String to a TextView, which as you've discovered is incompatible.

But there is a TextView method that you can use to setText in the Text View to the String you are interested in.

I've left my answer a little vague on purpose, but if you need a better refresher, go back to the Formatting Strings video and you can see how it was done.

I hope that helps!