package greendrm.gridview; import java.util.ArrayList; import android.app.Activity; import android.graphics.Color; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.TextView; public class GridViewActivity extends Activity { GridView gridview; ArrayList<GridViewContactsBook> contacts; ContactsAdapter adapter; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gridview = (GridView)findViewById(R.id.gridView1); contacts = new ArrayList<GridViewContactsBook>(); contacts.add(new GridViewContactsBook("A", "000-000-0000")); contacts.add(new GridViewContactsBook("B", "111-000-0000")); contacts.add(new GridViewContactsBook("C", "222-000-0000")); contacts.add(new GridViewContactsBook("D", "333-000-0000")); contacts.add(new GridViewContactsBook("E", "444-000-0000")); contacts.add(new GridViewContactsBook("F", "555-000-0000")); contacts.add(new GridViewContactsBook("G", "666-000-0000")); contacts.add(new GridViewContactsBook("H", "777-000-0000")); contacts.add(new GridViewContactsBook("I", "888-000-0000")); adapter = new ContactsAdapter(contacts); gridview.setAdapter(adapter); gridview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { GridViewContactsBook obj = contacts.get(position); if (obj.isSelected()) { obj.setSelection(false); view.setBackgroundColor(Color.TRANSPARENT); } else { obj.setSelection(true); view.setBackgroundColor(Color.YELLOW); } } }); } class ContactsAdapter extends BaseAdapter { private ArrayList<GridViewContactsBook> obj; public ContactsAdapter(ArrayList<GridViewContactsBook> obj) { super(); this.obj = obj; } @Override public int getCount() { return obj.size(); } @Override public Object getItem(int position) { return obj; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(GridViewActivity.this); convertView = inflater.inflate(R.layout.listrow, parent, false); holder = new ViewHolder(); holder.txtName = (TextView)convertView.findViewById(R.id.textView1); holder.txtNumber = (TextView)convertView.findViewById(R.id.textView2); convertView.setTag(holder); } else { holder = (ViewHolder)convertView.getTag(); } String name = obj.get(position).getName(); String phonenumber = obj.get(position).getPhoneNumber(); holder.txtName.setText(name); holder.txtNumber.setText(phonenumber); return convertView; } } class ViewHolder { TextView txtName; TextView txtNumber; } }