처음 실행한 gridview 화면입니다.
첫번째 cell 텍스트 색상은 정상입니다.

11.jpg 

다른 cell 을 클릭하면 아래처럼 첫번째 cell 색상이 바뀝니다.

22.jpg 

구글 검색을 해보니 이와 같은 현상을 버그라고 말하는 외국인도 있던데 해결하신 분 계신가요?

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
 <TextView
  android:id="@+id/selection"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  />
 <GridView
  android:id="@+id/grid"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:verticalSpacing="35px"
  android:horizontalSpacing="5px"
  android:numColumns="auto_fit"
  android:columnWidth="100px"
  android:stretchMode="columnWidth"
  android:gravity="center"
  />
</LinearLayout>

GridDemo.java

package com.commonsware.android.selection;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.TextView;

public class GridDemo extends Activity
 implements AdapterView.OnItemSelectedListener {
 TextView selection;
 String[] items={"lorem", "ipsum", "dolor", "sit", "amet",
     "consectetuer", "adipiscing", "elit", "morbi", "vel",
     "ligula", "vitae", "arcu", "aliquet", "mollis",
     };
 
 @Override
 public void onCreate(Bundle icicle) {
  super.onCreate(icicle);
  setContentView(R.layout.main);
  selection=(TextView)findViewById(R.id.selection);
  
  GridView g=(GridView) findViewById(R.id.grid);
  g.setAdapter(new FunnyLookingAdapter(this,
            android.R.layout.simple_list_item_1,
            items));
  g.setOnItemSelectedListener(this);
 }
 
 public void onItemSelected(AdapterView<?> parent, View v,
               int position, long id) {
  selection.setText(items[position]);
 }
 
 public void onNothingSelected(AdapterView<?> parent) {
  selection.setText("");
 }
 
 private class FunnyLookingAdapter extends ArrayAdapter {
  Context ctxt;
  
  FunnyLookingAdapter(Context ctxt, int resource,
            String[] items) {
   super(ctxt, resource, items);
   
   this.ctxt=ctxt;
  }
  
  public View getView(int position, View convertView,
             ViewGroup parent) {
   TextView label=(TextView)convertView;
   
   if (convertView==null) {
    convertView=new TextView(ctxt);
    label=(TextView)convertView;
   }
   
   label.setText(items[position]);
   
   return(convertView);
  }
 }
}