Android Alternate Row Couleurs dans ListView

public class ListView extends ListActivity { static String item; public void onCreate(Bundle icicle) { super.onCreate(icicle); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Str.S); setListAdapter(adapter); } 

C'est ma classe de liste qui fonctionne bien et prend les chaînes d'une classe appelée Str et les affiche dans une liste, le problème est que le style de liste n'est pas sympa, c'est noir avec les chaînes en blanc.

Je veux qu'ils soient alternatifs chaque rangée a une couleur.

  • Connectivité Ethernet via Programatically (Android) (Dispositif enraciné)
  • Ajouter une mise en page personnalisée à la barre d'outils
  • Weakreference get () méthode à quel point est-elle sûre? (Android, asynctask)
  • Android SDK télécharger avec Eclipse, obtenir un message d'erreur: Impossible de créer le répertoire C: /
  • La commande android update project -path "n'a pas été trouvée"
  • Comment désactiver le cache dans la visionneuse Android?
  • J'ai essayé de nombreux tutoriels, mais aucun n'était assez clair. Comment puis-je créer une couleur alternative pour chaque ligne … ex. Rangée1 Bleu, rangée 2 Blanc, rangée 3 Bleu, rangée 4 Blanc, etc.

  • Comment enregistrer la vidéo en utilisant l'aperçu de la caméra sur TextureView
  • Android IAB. Erreur - L'authentification est requise. Vous devez vous connecter à votre compte Google
  • L'adaptateur RecyclerView prend de mauvaises valeurs
  • Disposition pour les tableaux dans Android
  • Comment obtenir la fenêtre d'activitéToken sans vue?
  • Comment puis-je créer une application Java à l'aide de l'API Monkeyrunner?
  • 3 Solutions collect form web for “Android Alternate Row Couleurs dans ListView”

    Voici comment faire cela.

    Mon exemple de code est donné ici brièvement:

    Remplacez la méthode getView dans votre adaptateur:

     @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); if (position % 2 == 1) { view.setBackgroundColor(Color.BLUE); } else { view.setBackgroundColor(Color.CYAN); } return view; } 

    Remplacer ArrayAdapter et remplacer la méthode getView ici.

    Donc, si votre adaptateur ressemble à ceci:

     public class MyAdapter extends ArrayAdapter 

    Votre ListActivity changera comme ceci:

      ArrayAdapter<String> adapter = new MyAdapter<String>(this, android.R.layout.simple_list_item_1, Str.S); 

    Voici un exemple sur la substitution de ArrayAdapter.

     if (position % 2 == 0) { rowView.setBackgroundColor(Color.parseColor("#A4A4A4")); } else { rowView.setBackgroundColor(Color.parseColor("#FFBF00")); } 

    La couleur d'arrière-plan pour une ligne de liste de lecture personnalisée peut être définie avec

     row.setBackgroundResource(R.color.list_bg_2) 

    Méthode dans l'adaptateur personnalisé

     getView(int position, View convertView, ViewGroup parent) 

    J'ai essayé beaucoup de choses comme row.setBackgroundColor(0xFF00DD) mais je ne pouvais pas le faire,

    Ici list_bg_2 est un ensemble de couleurs res / values ​​/ color.xml

     <?xml version="1.0" encoding="utf-8"?> <resources> <color name="list_bg_1">#ffffff</color> <color name="list_bg_2">#fef2e8</color> </resources> 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.