Android drawSelectorOnTop avec GridView

Je suis en train d'élaborer des onglets de l'application dans laquelle l'un des fragments, CollectionsFragment, contient un GridView avec une ImageView dans chaque logement. Je voudrais l'utiliser un sélecteur de donner de la rétroaction des utilisateurs lorsque l'utilisateur clique sur une des images.

J'ai mis en œuvre avec succès le sélecteur, cependant, mon problème est que le sélecteur est seulement le dessin en arrière-plan de l'image, mais je tiens à le sélecteur de tirer sur toute l'image. J'ai vu ce problème référencé ailleurs, cependant, la solution choisie par de nombreux, la définition de la drawSelectorOnTop propriété de la GridView, n'est pas de travail pour moi.

Pertinentes fragment avec le code d'adaptateur:

public class CollectionsFragment extends Fragment {
    @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
             View view = inflater.inflate(R.layout.activity_collections, container, false);
             //Grid view is inside the xml view inflated above
             GridView gridView = (GridView)view.findViewById(R.id.gridview);
             gridView.setDrawSelectorOnTop(true);
             ((GridView) gridView).setAdapter(new CustomGridViewAdapter(getActivity()));
             return view;
        }

        private class CustomGridViewAdapter extends BaseAdapter {
            @Override
            public View getView(int i, View view, ViewGroup viewGroup) {
                View v = view;
                ImageView picture;
                TextView name;

                if(v == null) {
                    v = inflater.inflate(R.layout.collections_item, viewGroup, false);
                    v.setTag(R.id.picture, v.findViewById(R.id.picture));
                    v.setTag(R.id.text, v.findViewById(R.id.text));
                }

                picture = (ImageView)v.getTag(R.id.picture);

                name = (TextView)v.getTag(R.id.text);

                Item item = (Item)getItem(i);
                name.setText(item.name);

                picture.setImageResource(item.drawableId);
                picture.setBackgroundResource(R.drawable.selector);

                return v;
            }
        }
}

Et mon sélecteur par souci d'exhaustivité:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" 
      android:drawable="@color/buttonhighlight"/> <!-- pressed state -->
<item android:state_focused="true" 
      android:drawable="@color/buttonhighlight"/> <!-- focused state -->
<item android:drawable="@android:color/transparent"/> <!-- default state --> 
</selector>

Merci pour toute aide,

OriginalL'auteur lbrendanl | 2013-11-27