Jump to content

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

Link to comment
Share on other 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, ...) ?

Link to comment
Share on other 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!!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...