How to disable item from GridView in Android

activity_main.xml
 <RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:id="@+id/rl"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:padding="10dp"     tools:context=".MainActivity"     android:background="#85887d"     >     <GridView         android:id="@+id/gv"         android:layout_width="675dp"         android:layout_height="wrap_content"         android:padding="5dp"         android:numColumns="4"         android:background="#a6a99e"         android:verticalSpacing="5dp"         android:horizontalSpacing="5dp"         android:stretchMode="columnWidth"         android:gravity="left"         >     </GridView> </RelativeLayout> 
MainActivity.java
 package com.cfsuman.me.androidcodesnippets;  import android.graphics.Color; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.GridView; import android.widget.TextView;  import java.util.ArrayList; import java.util.Arrays; import java.util.List;  import android.widget.Toast;   public class MainActivity extends Activity {      @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);          // Get the widgets reference from XML layout         jawaban GridView gv = (GridView) findViewById(R.id.gv);          // Initializing a new String Array         String[] plants = new String[]{                 "Catalina ironwood",                 "Cabinet cherry",                 "Pale corydalis",                 "Pink corydalis",                 "Belle Isle cress",                 "Land cress",                 "Orange coneflower",                 "Coast polypody",                 "Water fern"         };          // Populate a List from Array elements         jawaban List<String> plantsList = new ArrayList<String>(Arrays.asList(plants));          // Data bind GridView with ArrayAdapter (String Array elements)         gv.setAdapter(new ArrayAdapter<String>(                 this, android.R.layout.simple_list_item_1, plantsList) {             @Override             public boolean isEnabled(int position) {                 // Disable the third item of GridView                 if (position == 2) {                     return false;                 } else {                     return true;                 }             }              @Override             public View getView(int position, View convertView, ViewGroup parent) {                 // Return the GridView current item as a View                 View view = super.getView(position, convertView, parent);                  // Convert the view as a TextView widget                 TextView tv = (TextView) view;                  // Set the GridView third item text color different                 if(position == 2){                     // set the GridView disable item color                     tv.setTextColor(Color.DKGRAY);                 }                 else {                     // set the TextView text color (GridView item color)                     tv.setTextColor(Color.BLACK);                 }                 // Return the TextView widget as GridView item                 return tv;             }         });          gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {             @Override             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                 // Get the GridView selected/clicked item text                 String selectedItem = parent.getItemAtPosition(position).toString();                  // Display the selected/clicked item text                 Toast.makeText(getApplicationContext(), selectedItem,Toast.LENGTH_SHORT).show();             }         });     } } 
More android examples

Komentar