Users Pricing

articles

home / developersection / articles / display data in gridview in android
Display Data in GridView in Android

Display Data in GridView in Android

Chris Anderson 77823 01 Nov 2011 Updated 19 Sep 2020

Display Data in GridView in Android

Here In this article, I am going to explain how to display data in GridView in an Android application. And here is an example of Custom GridView in which I have used two TextViews.

  • Start a new project named GridViewData.
  • Open res/layout/main.xml and insert the following:
<?xml  version="1.0" encoding="utf-8"?>

<GridView xmlns:android="http://schemas.android.com/apk/res/android"
                 android:id="@+id/gridview"
                 android:stretchMode="columnWidth"
                android:cacheColorHint="#00000000"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:numColumns="1"
                android:clipChildren="true"
                android:horizontalSpacing="5dip"
                android:verticalSpacing="5dip" />

Create a customgrid.xml inside res/layout folder and insert the following code:

<?xml  version="1.0" encoding="utf-8"?>

<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical">
<TableLayout android:id="@+id/TableLayout01"
              android:layout_height="wrap_content"
              android:layout_width="fill_parent">
        <TableRow android:id="@+id/TableRow01"
                   android:layout_height="wrap_content"
                   android:layout_width="wrap_content">
         <TextView android:text="@string/hello"
            android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                     android:id="@+id/txtId"
                   android:layout_gravity="center_horizontal" />

         <TextView android:text="@string/hello"
                    android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:id="@+id/txtName"
                   android:layout_gravity="center_horizontal" />
        </TableRow>
</TableLayout>
</LinearLayout>
  • Create DataAdapter.java file and insert the following code: 
import android.content.Context;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class DataAdapter extends BaseAdapter
{
        Context mContext;
        private String [] id = {"S001","S002","S003","S004","S005","S006","S007"};
        private String [] name={"Rohit","Rahul","Ravi","Amit","Arun","Anil","Kashif"};
        private LayoutInflater mInflater;
        public DataAdapter(Context c)
       {
               mContext=c;
               mInflater = LayoutInflater.from(c);
       }
        public int getCount()
       {
               return id.length;
       }
        public Object getItem(int position)
       {
               return position;
       }
        public long getItemId(int position)
       {
               return position;
       }
        public View getView(int position, View convertView, ViewGroup parent)
       {
              ViewHolder holder=null;
               if(convertView==null)
              {
                     convertView = mInflater.inflate(R.layout.customgrid,
                                                                     parent,
                                                                    parent,false);
                     holder = new ViewHolder();
                     holder.txtId=(TextView)convertView.findViewById(R.id.txtId);
                     holder.txtId.setPadding(100, 10,10 , 10);
                     holder.txtName=(TextView)convertView.findViewById(R.id.txtName);
                     holder.txtName.setPadding(100, 10, 10, 10);
                      if(position==0)
                     {
                           convertView.setTag(holder);
                     }
              }
               else
              {
                     holder = (ViewHolder) convertView.getTag();
              }
              holder.txtId.setText(id[position]);
              holder.txtName.setText(name[position]);
               return convertView;
       }
        static class ViewHolder
       {
              TextView txtId;
              TextView txtName;
       }
}

Open the main activity file and modify according to it:

import android.app.Activity;

import android.os.Bundle;
import android.widget.GridView;

public class GridViewDataActivity extends Activity {

     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         GridView gridview = (GridView) findViewById(R.id.gridview);
        gridview.setAdapter(new DataAdapter(this));
    }
}
  • Run the application.

The output should look like below:

The output should look like below:

Display Data in GridView in Android



hi I am software developer at mindstick software pvt. ltd.


14 Comments