Android Build an Interactive Story App Intents and Multiple Activities Starting a New Activity

Olha Markova
Olha Markova
2,050 Points

I don`t know where is my mistake

I try to write the code, but get an error message - The first parameter for the Intent constructor must be the current context (you can use 'LaunchActivity.this')

What is wrong with my code?

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

public class LaunchActivity extends AppCompatActivity {

    public Button launchButton;

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

        launchButton = (Button)findViewById(R.id.launchButton);
        launchButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Add your code in here!

            Intent intent = new Intent(this, LaunchActivity.class); 

                }
        });
    }
}

1 Answer

Ben Deitch
STAFF
Ben Deitch
Treehouse Teacher

Hey Olha!

In your Intent 'this' is referring to the OnClickListener. To make it refer to the Activity, use LaunchActivity.this.

Intent intent = new Intent(LaunchActivity.this, LaunchActivity.class); 

Also, the challenge wants you to start FlightActivity not LaunchActivity. So the second parameter should be FlightActivity.class :)

Intent intent = new Intent(LaunchActivity.this, FlightActivity.class); 

Hope that helps!