2013-06-20 6 views
0

J'ai déclaré mon adaptateur de tableau avec un simple_list_item_multiple_choice et les cases à cocher apparaissent dans la liste comme ils le devraient, mais il semble que lorsqu'un nouvel élément est ajouté la couleur de fond ne se déplace pas avec les nouveaux éléments et est appliqué au nouvel article.Modifier un Article ListView

final ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, todoItems); 
    myListView.setItemsCanFocus(false); 
    myListView.setChoiceMode(myListView.CHOICE_MODE_MULTIPLE); 

...

myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int i, long l) { 
      if(myListView.isItemChecked(i)){ 
       Toast.makeText(getBaseContext(), "You checked " + todoItems.get(i), Toast.LENGTH_SHORT).show(); 
       view.setBackgroundColor(Color.LTGRAY); 
      } 
      else{ 
       Toast.makeText(getBaseContext(), "You unchecked " + todoItems.get(i), Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 

J'ai essayé de changer la couleur de fond avec view et myListView, mais ni travaillé. Il semble que les éléments ne sont pas liés à la couleur de fond ...

Répondre

0

Assurez-vous que vous avez cet attribut à votre ListView en XML

android: cacheColorHint = "# 00000000"

0

Lorsque je voulais modifier le look de ma liste, je devais entrer manuellement dans le fichier xml pour simple_list_item_one (simple_list_item_multiple_choice dans votre cas). J'ai fait une copie de ce fichier avec un nom différent. J'ai modifié ce double pour que le listview ressemble à ce que je voulais. C'est fondamentalement une disposition relative rectangulaire donc ce n'est vraiment pas si difficile de s'y frayer un chemin.