J'utilise une liste personnalisée. Quand je clique sur Listview, je n'ai pas obtenu événement Onclick.
Voici mon code. P>
private class OrderAdapter extends BaseAdapter { private LayoutInflater mInflater; public OrderAdapter(Context context) { mInflater = LayoutInflater.from(context); } public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.example, null); holder = new ViewHolder(); holder.txtTest = (TextView) convertView.findViewById(R.id.txtTest); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.txtTest.setText(Util.SampleTest.get(position)); return convertView; } public class ViewHolder { public TextView txtTets; } public int getCount(){return Util.SampleTest.size();} public Object getItem(int position){return position;} public long getItemId(int position){return position;} }
6 Réponses :
check this: ListView with clickable/editable widget p>
J'ai déjà ce code. Mais je n'aime pas faire comme ça.
Ensuite, vous n'aurez apparemment pas onclickItemlistener travaillant :) Les objets concentrés semblent se lier onclick événements et sont placés sur l'élément de la liste. semble assez raisonnable
Premier, définissez l'adaptateur, puis définissez sur CLICK Evemeur sur ListView. Puis essayez à nouveau. P>
Sinon que .. @Override publique Void OnitemClick (Adapterview > Arg0, View Arg1, int Arg2, Long Arg3) {// Méthode de méthode générée automatiquement TODO} Cette fonction écrit hors de la méthode de création et implémente OnClickListener dans votre activité
Vous utilisez XML pour la liste des commandes de la vue ...?
Vérifiez que ClickAlble Property est désactivé ou une propriété modifiatable est définie de tout contrôle de listeView ...
Je l'ai vérifié . Je ne déclare aucune propriété comme celle-ci.
Si vous avez des éléments cliquables dans votre liste, vous devez jouer avec l'accent pour pouvoir recevoir les deux éléments de la liste cliquée sur les éléments de l'événement et de la liste des enfants Cliquez sur les événements.
Appelez le code suivant sur vos articles de liste comme ils sont créé: p> trouvé sur http: / /code.google.com/p/android/issues/detail?id=3414 , réponse n ° 27 p> p>
Assurez-vous que votre mise en page personnalisée n'a pas de case code> avant le [code> TextView code>. Vous pouvez utiliser un
imageview code> pour remplir la coche code> fonctionnalité. P>
Vous devez définir
Cela devrait résoudre votre problème.parce que cela a résolu le mien.Si il résoue bien marquer mon message comme réponse. P>
Vous pouvez également renvoyer les commentaires ici P> Android: DescendantFocusability = "Blocsdescendants" Code> Dans votre fichier de présentation XML personnalisé pour la linearlayout ou quelle que soit la mise en page que vous utilisez. (Pour définir votre ligne personnalisée) p>
Essayez ceci.
Y a-t-il des éléments dans la liste? Vous définissez OnImclick. Pouvez-vous publier le code pour commande.
Oui, il y a plus de 20 articles dans la liste. Ici, j'ajoute ma commande.
la liste est affichée dans la liste de liste ..?
Oui, il est affiché à listeView.
GetItem devrait retourner util.samplétest.get (position) mais je ne pense pas que ce soit le problème.
Si cette réponse a résolu votre problème, marquez-la comme une réponse s'il vous plaît.