title: Android passing ArrayList<Model> to Fragment from Activity
body: <p>Hi I want to send the data <code>ArrayList&lt;Division&gt;</code> to Fragment class <code>ListContentFragment</code>.</p>
  
  <p>In <code>MainActivity</code> I am making a network call to get the data(<code>JSON</code>) and then parsing it to create <code>ArrayList&lt;Division&gt;</code>, now i want to populate the list view with the data i received (now in <code>ArrayList&lt;Division&gt;</code>)</p>
  
  <p>MainActivity</p>
  
  <pre><code> protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          // Adding Toolbar to Main screen
          Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
          setSupportActionBar(toolbar);
          // Setting ViewPager for each Tabs
          ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
          setupViewPager(viewPager);
          // Set Tabs inside Toolbar
          TabLayout tabs = (TabLayout) findViewById(R.id.tabs);
          tabs.setupWithViewPager(viewPager);
          // Create Navigation drawer and inlfate layout
          NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
          mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer);
          // Adding menu icon to Toolbar
          ActionBar supportActionBar = getSupportActionBar();
          if (supportActionBar != null) {
              VectorDrawableCompat indicator
                      = VectorDrawableCompat.create(getResources(), R.drawable.ic_menu, getTheme());
              indicator.setTint(ResourcesCompat.getColor(getResources(),R.color.white,getTheme()));
              supportActionBar.setHomeAsUpIndicator(indicator);
              supportActionBar.setDisplayHomeAsUpEnabled(true);
          }
          // Set behavior of Navigation drawer
          navigationView.setNavigationItemSelectedListener(
                  new NavigationView.OnNavigationItemSelectedListener() {
                      // This method will trigger on item Click of navigation menu
                      @Override
                      public boolean onNavigationItemSelected(MenuItem menuItem) {
                          // Set item in checked state
                          menuItem.setChecked(true);
  
                          // TODO: handle navigation
                          Toast.makeText(MainActivity.this, "Clicked: " + menuItem.getTitle(), Toast.LENGTH_SHORT).show();
  
                          // Closing drawer on item click
                          mDrawerLayout.closeDrawers();
                          return true;
                      }
                  });
          // Adding Floating Action Button to bottom right of main view
          FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
          fab.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  Snackbar.make(v, "Hello Snackbar!",
                          Snackbar.LENGTH_LONG).show();
              }
          });
  
          // Network request test with volley
          NetworkRequests networkRequest = new NetworkRequests(this);
          networkRequest.fetchDummyData();
          divisionList = networkRequest.getDivisions();
      }
  
      // Add Fragments to Tabs
      private void setupViewPager(ViewPager viewPager) {
          Adapter adapter = new Adapter(getSupportFragmentManager());
          adapter.addFragment(new ListContentFragment(), "List");
          adapter.addFragment(new TileContentFragment(), "Tile");
          adapter.addFragment(new CardContentFragment(), "Card");
          viewPager.setAdapter(adapter);
      }
  </code></pre>
  
  <p>Fragment (currently its hard coded, want to populate with the ArrayList)</p>
  
  <pre><code>public class ListContentFragment extends Fragment {
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
                               Bundle savedInstanceState) {
          RecyclerView recyclerView = (RecyclerView) inflater.inflate(
                  R.layout.recycler_view, container, false);
          ContentAdapter adapter = new ContentAdapter(recyclerView.getContext());
          recyclerView.setAdapter(adapter);
          recyclerView.setHasFixedSize(true);
          recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
          return recyclerView;
      }
  
      public static class ViewHolder extends RecyclerView.ViewHolder {
          public ImageView avator;
          public TextView name;
          public TextView description;
          public ViewHolder(LayoutInflater inflater, ViewGroup parent) {
              super(inflater.inflate(R.layout.item_list, parent, false));
              avator = (ImageView) itemView.findViewById(R.id.list_avatar);
              name = (TextView) itemView.findViewById(R.id.list_title);
              description = (TextView) itemView.findViewById(R.id.list_desc);
              itemView.setOnClickListener(new View.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      Context context = v.getContext();
                      Intent intent = new Intent(context, DetailActivity.class);
                      intent.putExtra(DetailActivity.EXTRA_POSITION, getAdapterPosition());
                      context.startActivity(intent);
                  }
              });
          }
      }
  
      /**
       * Adapter to display recycler view.
       */
      public static class ContentAdapter extends RecyclerView.Adapter&lt;ViewHolder&gt; {
          // Set numbers of List in RecyclerView.
          private static final int LENGTH = 18;
  
          private final String[] mPlaces;
          private final String[] mPlaceDesc;
          private final Drawable[] mPlaceAvators;
  
          public ContentAdapter(Context context) {
              Resources resources = context.getResources();
              mPlaces = resources.getStringArray(R.array.places);
              mPlaceDesc = resources.getStringArray(R.array.place_desc);
              TypedArray a = resources.obtainTypedArray(R.array.place_avator);
              mPlaceAvators = new Drawable[a.length()];
              for (int i = 0; i &lt; mPlaceAvators.length; i++) {
                  mPlaceAvators[i] = a.getDrawable(i);
              }
              a.recycle();
          }
          @Override
          public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
              return new ViewHolder(LayoutInflater.from(parent.getContext()), parent);
          }
  
          @Override
          public void onBindViewHolder(ViewHolder holder, int position) {
              holder.avator.setImageDrawable(mPlaceAvators[position % mPlaceAvators.length]);
              holder.name.setText(mPlaces[position % mPlaces.length]);
              holder.description.setText(mPlaceDesc[position % mPlaceDesc.length]);
          }
  
          @Override
          public int getItemCount() {
              return LENGTH;
          }
      }
  
  }
  </code></pre>