GridView is used to display items in a two-dimensional, scrollable grid form. The grid items are automatically inserted to the layout using a Adapter.
For example, displaying grid of icons. Item is represented by a single item view. This pattern is quite handy as it shows several icons on screen at the same time. Its helps displaying grids of data in a very simple and scrollable grid manner.
The simplest way to display a grid view is using ArrayAdapter class . You can add lists or arrays of custom objects to it and these objects are referenced using index and displayed in the TextView of GridView.
We set the ArrayAdapter to the GridView to display the items of array adapter in it .
The following example explains the usage of GridView using ArrayAdapter.
Step1: Create the xml for the activity which contains a GridView
main.xml
<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" tools:context=".AdapterActivity" > <GridView android:id="@+id/grid_id" android:layout_width="fill_parent" android:layout_height="fill_parent" android:columnWidth="80dp" android:gravity="center" android:numColumns="auto_fit" android:stretchMode="columnWidth" > </GridView> </RelativeLayout>
Step 2: Create the Activity and use the code mentioned below.
• Create the ArrayAdapter and add a default layout grid style and string array of data to it.
• Set GridView adapter as the ArrayAdapter.
• You can set listeners on your grid view also.
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.GridView; import android.widget.TextView; import android.widget.Toast; public class AdapterActivity extends Activity { GridView gridView; static final String[] numbers = new String[] { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen","sixteen","seventeen","eighteen", "nineteen","twenty","twenty one","twenty two" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gridView = (GridView) findViewById(R.id.grid_id); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, numbers); gridView.setAdapter(adapter); gridView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v, int position, long id) { Toast.makeText(getApplicationContext(), ((TextView) v).getText(), Toast.LENGTH_SHORT).show(); } }); } }
You can also download the above GridView Example .
You can refer to this link for List View example.
Screenshot:
Comments are closed.