Android Simple GridView – Fill With List of Objects

Read-only properties in JavaFX 8

Android Simple GridView – Fill With List of Objects







Hello friends.Today we see how to work with a simple gridview and objects.In short here is what we do:

  1. Fill list of objects to an arraylist.
  2. Bind the list to gridview via arrayadapter.
  3. Handle ItemClick events.

SECTION 1 : OUR MODEL CLASS

  • Represents a single "person" object.
package com.tutorials.hp.gridviewandobjects;
/**
 * Created by Oclemy on 7/6/2016 for ProgrammingWizards Channel and http://www.camposha.com.
 */
public class Person {
    int id;
    String name;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

SECTION 1 : OUR MainActivity

package com.tutorials.hp.gridviewandobjects;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
    List<String> people=new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //GRIDVIEW
        GridView gv= (GridView) findViewById(R.id.gv);
        //FILL LIST
        fillPeople();
        //ADAPTER
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,people);
        gv.setAdapter(adapter);
        gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Toast.makeText(MainActivity.this, people.get(i), Toast.LENGTH_SHORT).show();
            }
        });
    }
    private void fillPeople()
    {
        people.clear();
        Person p=new Person();
        p.setName("Mike");
        people.add(p.getName());
        p=new Person();
        p.setName("John");
        people.add(p.getName());
        p=new Person();
        p.setName("Lucy");
        people.add(p.getName());
        p=new Person();
        p.setName("Rebecca");
        people.add(p.getName());
        p=new Person();
        p.setName("Kris");
        people.add(p.getName());
        p=new Person();
        p.setName("Kurt");
        people.add(p.getName());
        p=new Person();
        p.setName("Vin");
        people.add(p.getName());
    }
}

SECTION 3 : OUR LAYOUT

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.tutorials.hp.gridviewandobjects.MainActivity">
    <GridView
        android:id="@+id/gv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:numColumns="3" />
</RelativeLayout>

SECTION 4 : OUR RESULT

GridView and List of Person Objects

GridView and List of Person Objects

 

 

 

 

 

 

SECTION 5 : SOURCE CODE

GitHub : Source Cheers.



    Leave a Reply

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

    20 − 16 =

    COMMENTS