Pass ArrayList from Activity to ListFragment?

I am trying to implement a fragment layout. I have an activity that works as a SplashScreen and retrieves some data from the Internet and creates an ArrayList of my custom objects.

Usually, if I used ListView, I would just do the following.

private ArrayList<Articles> articles;

private void isComplete() {
         Intent intent = new Intent(SplashScreen.this, ListActivity.class);
         intent.putExtra("data", articles);
         startActivity(intent);
         finish();
    }

How can I transfer the same data to a fragment? I really liked your help.

+3
source share
3 answers

A simple example of a global class And declare public static ArrayList<Articles> articles = new ArrayList<Articles>; In core business Global.articles = articles; Now you can use any object in the project.

+3
source

It depends on the type of arraylist

  • putIntegerArrayListExtra (string name, ArrayList value)

  • putParcelableArrayListExtra ( , ArrayList)

  • putStringArrayListExtra ( , ArrayList)

  • putCharSequenceArrayListExtra ( , ArrayList)

, put get ​​ ,

myIntent.getStringArrayListExtra("arrayPeople");
+2

putExtra, . getSerializableExtra

A B, ArrayList > Activity B, A

ArrayList > Activity A Activity B

Intent intent = new Intent(this, B.class);
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("sunil", "sahoo");
ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>();
arl.add(hm);
intent.putExtra("arraylist", arl);
startActivityForResult(intent, 500);

Activity B

B

ArrayList<HashMap<String, String>> arl =(ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("arraylist");
System.out.println("...serialized data.."+arl);
-2

All Articles