articles

Home / DeveloperSection / Articles / Display Data in GridView in Android

Display Data in GridView in Android

Display Data in GridView in Android

Chris Anderson 76751 01-Nov-2011

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



Updated 19-Sep-2020
hi I am software developer at mindstick software pvt. ltd.

Leave Comment

Comments

Liked By