Salut,
Ça semble simple, je voudrais sélectionner un item dans une GridView (contenant des ImageView), j'appelle donc gridView.setSelection(position) mais rien ne se passe... Qu'ai-je raté???
Merci!
Version imprimable
Salut,
Ça semble simple, je voudrais sélectionner un item dans une GridView (contenant des ImageView), j'appelle donc gridView.setSelection(position) mais rien ne se passe... Qu'ai-je raté???
Merci!
Salut
Est ce que l'on pourrait voir ton code ?
Merci.
Rien de plus simple:
Si tu veux un exemple complet:Code:gridView.setSelection (position);
Après quelques recherches j'ai appris que setSelection ne marche pas en mode tactile... J'aurais bien aimé ne pas être obligé de gérer ça moi-même à la main...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 public class Test extends Activity { public void onCreate (final Bundle savedInstanceState) { super.onCreate (savedInstanceState); GridView gridView = new GridView (this); gridView.setNumColumns (4); gridView.setHorizontalSpacing (16); gridView.setVerticalSpacing (16); gridView.setSelection (3); // ne fait rien !! setContentView (gridView); gridView.setAdapter (new BaseAdapter () { public int getCount () { return 12; } public Object getItem (int position) { return position; } public long getItemId (int position) { return position; } public View getView (int position, View convertView, ViewGroup parent) { ImageView view = (ImageView) convertView; if (view == null) { view = new ImageView (Test.this); view.setImageResource (R.drawable.image); } return view; } }); } }
Salut
Bah normal vu que tu as aucun item a ce moment là dans ton adapter.Citation:
Qu'ai-je raté???
Bah oui mais si on déplace le setSelection à la fin, ça ne change rien... Ça ne marche que si on n'est pas en mode tactile.
J'aimerais bien savoir qui t'a dit que cela ne marchait pas en mode tactile.
http://stackoverflow.com/questions/1...ue-in-gridview
Code:
1
2 gridview.requestFocusFromTouch(); gridview.setSelection(1);
C'est Romain Guy de chez Google qui me l'a dit:
http://android-developers.blogspot.f...ouch-mode.html
Et surtout je le constate en testant par moi-même, y compris avec un requestFocusFromTouch qui ne change rien.
Si tu veux utiliser les méthodes de sélection sur des listes (ou gridview), il faut que les enfants de cette liste intègre cette notion de sélection...
Donc deux pistes à investiguer :
- déjà vérifier que tes enfants supportent ce mode de sélection, quitte à l'implémenter toi même au niveau de ton adapter. (si mon item est selectionnée, je change le background par exemple).
- Vérifier qu'en mode "tactile" des touch sont bien intercepter par ta listview (pour ça avec le debuguer tu devrais le voir rapidement).
C'est en effet ce que j'ai fini par faire: recoder moi-même le mécanisme de sélection...