How to Start a New Activity on Button Click in Android

How to Start a New Activity on Button Click in Android

6 June 2024 Stephan Petzl Leave a comment Tech-Help

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.

Like this article? there’s more where that came from!