Aller au contenu

ListView qui ne "check" pas un CheckedTextView


dimach

Recommended Posts

Bonjour,

J'essaye depuis quelques temps de faire fonctionner un ListView avec un CheckedTextView.

J'ai bien enlevé le focus sur le CheckedTextView et ai défini sur le ListView le mode "choice multiple" mais rien n'y fait.

Après plusieurs recherches je ne trouve pas de solution, si quelqu'un aurait idée elle serait vraiment la bienvenue!! :)

Voici le code de l'adapter utilisé avec ma ListView


public class MessageAdapterList extends BaseAdapter
{
   private Context context;
       private ArrayList messages;


   public SmsListAdapterList(Context context, ArrayList msgs)
   {
       this.context = context;
       messages = msgs;
   }


   @Override
   public int getCount(){return messages.size();}
   @Override
   public Object getItem(int pos){return messages.get(pos);}
   @Override
   public long getItemId(int position){return position;}

   @Override
   public View getView(int position, View convertView, ViewGroup parent)
   {
       RelativeLayout listView;
       String msg = messages.get(position);

   if (convertView == null)
       {
           listView = new RelativeLayout(context);
           LayoutInflater vi = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
           vi.inflate(R.layout.msg_list_listview, listView, true);
       }
       else
       {
           listView = (RelativeLayout) convertView;
       }

       CheckedTextView contenu = (CheckedTextView)listView.findViewById(R.id.checkedTxt);
       contenuSms.setText(msg);        

       return listView;
   }

}

Et voici comment j'utilise ma listView (lv)


       lv.setDividerHeight(0);
       lv.setItemsCanFocus(false);
       lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
       lv.setAdapter(adapter);

       lv.setOnItemClickListener(new OnItemClickListener()
       {
           @Override
           public void onItemClick(AdapterView<?> parent, View view, int position, long id)
           {
               lv.setItemChecked(position, true); //ne "check" pas le CheckedTextView
           }
       });

Merci à tous pour votre aide ou même remarques :D

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Quel est ton besoin exactement ? Est-ce le choix de l'élément qui ne fonctionne pas ou l'interception de l'événement lié au choix ?

Car je ne comprend pas pourquoi tu utilises un adapteur et une vue spécifique. As-tu déjà essayé avec la vue de base android.R.layout.simple_list_item_single_choice en utilisant un adapteur déjà implémenté (ArrayAdapter, CursorAdapter, ...) ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Il s'agissait effectivement de l'événement lié au choix qui ne fonctionnait pas.

Cependant, comme tu me l'as suggéré, j'ai à la place utilisé un ArrayAdapter, et la tout marche nickel ! :)

Je te remercie!!

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...