How to implement setOnItemClickListener() to GridView to access and show gridview selected item.
setOnItemClickListener() method applies on grid view to detect grid view item clicked or not. With the use of this method app developer can easily do particular task on grid view click like open new activity, detect gridview clicked item name and more. So here is the complete step by step tutorial for Use/Add setOnItemClickListener on gridview in android.
How to Use/Add setOnItemClickListener on gridview in android.
Code for MainActivity.java file.
package com.setonitemclicklistener_gridview_android_examples.com; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.GridView; import android.widget.Toast; public class MainActivity extends Activity { GridView gridview; String[] row = new String[]{ "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN" }; String item_clicked; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gridview = (GridView)findViewById(R.id.gridView1); List<String> ROW_LIST = new ArrayList<String>(Arrays.asList(row)); gridview.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1,ROW_LIST)); gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub item_clicked = parent.getItemAtPosition(position).toString(); Toast.makeText(MainActivity.this, item_clicked, Toast.LENGTH_LONG).show(); } }); } }
Code for activity_main.xml layout file.
<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.setonitemclicklistener_gridview_android_examples.com.MainActivity" > <GridView android:id="@+id/gridView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:numColumns="3" > </GridView> </RelativeLayout>
Screenshot: