How to Start a New Activity on Button Click in Android

Updated 6/6/2024

In Android development, starting a new activity when a button is clicked is a common task. This guide will walk you through the process of starting a new activity and passing data between activities using the Intent class.

Starting a New Activity

The primary method to start a new activity is by using an Intent. Below is a simple example:

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
myIntent.putExtra("key", value);  // Optional parameters
CurrentActivity.this.startActivity(myIntent);

Don’t forget to declare your new activity in the AndroidManifest.xml file:

<activity android:label="@string/app_name" android:name="NextActivity"/>

Retrieving Data in the New Activity

To retrieve the data passed from the previous activity, use the following snippet in the new activity:

@Override
protected void onCreate(Bundle savedInstanceState) {
    Intent intent = getIntent();
    String value = intent.getStringExtra("key");  // Retrieve the string you stored
}

Using OnClick Attribute in XML

You can also start a new activity by using the onClick attribute in the button’s XML definition:

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Go to Next Activity"
    android:onClick="goToNextActivity" />

In your Java class, define the method specified in the onClick attribute:

public void goToNextActivity(View view) {
    Intent intent = new Intent(this, NextActivity.class);
    startActivity(intent);
}

Advanced Methods

For more advanced methods, such as using OnClickListener or handling multiple buttons with a switch statement, refer to our comprehensive guides:

Efficient Testing with Repeato

Once you’ve implemented your activity transitions, it’s crucial to ensure they work seamlessly. This is where automated testing tools like Repeato come in handy. Repeato is a no-code test automation tool for iOS and Android, leveraging computer vision and AI to create, run, and maintain automated tests quickly. It allows mobile developers to focus on creating a great product by offloading the task of test automation to non-technical colleagues or QA teams.

Learn more about how Repeato can streamline your testing process and improve your app’s reliability by visiting our documentation section.

EN