Android button open new activity

A classic Android question!

To open a new activity when a button is clicked in Android, you can follow these steps:

Step 1: Create a new activity

In your Android project, create a new Java class that extends the Activity class. For example, let's call it SecondActivity.java.

Step 2: Define the button in the layout

In your main activity's layout file (e.g., activity_main.xml), add a button element:

<Button
    android:id="@+id/my_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Open Second Activity" />

Step 3: Set the button's onClick listener

In your main activity's Java code (e.g., MainActivity.java), find the button and set its onClick listener:

Button button = findViewById(R.id.my_button);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // Open the second activity
    }
});

Step 4: Start the second activity

In the onClick method, use the Intent class to create an intent that starts the second activity:

Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);

Step 5: Add the second activity to the AndroidManifest.xml file

In your Android project's AndroidManifest.xml file, add the second activity:

<activity
    android:name=".SecondActivity"
    android:label="Second Activity" />

That's it! When you run your app and click the button, it should open the second activity.

Here's the complete code:

// MainActivity.java
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = findViewById(R.id.my_button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                startActivity(intent);
            }
        });
    }
}

// SecondActivity.java
public class SecondActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
    }
}

// AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".SecondActivity"
            android:label="Second Activity" />
    </application>
</manifest>

Note: Make sure to replace com.example.myapp with your actual package name.