How to pass an arraylist value from one activity to another in android?

By | October 28, 2012

This simple example shows how to pass an ArrayList from one activity to another in Android.

This is the first activity on which we are sending the arrayList.

MainActivity

[java]
package com.coderzheaven.passarraylist;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
passArrayList();
}
});
}

private void passArrayList() {
final ArrayList<String> arr = new ArrayList<>();
arr.add("Hello");
arr.add("CoderzHeaven");

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("array_list", arr);
startActivity(intent);
}

}
[/java]

Now this is the Second activity in which we are receiving the passed arrayList.

SecondActivity

[java]
package com.coderzheaven.passarraylist;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

import java.util.ArrayList;

public class SecondActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second_activity);
Bundle b = getIntent().getExtras();

if (null != b) {
ArrayList<String> arr = b.getStringArrayList("array_list");
Log.i("List", "Passed Array List :: " + arr);
}

}
}
[/java]

Please check the Logcat for the Output.

Source code

You can download the Android Studio source code from here.

Leave a Reply

Your email address will not be published. Required fields are marked *