Je fais une liste d'achats dans Android, pour lequel je stocke des produits dans la base de données SQLite.Android ListView barré texte
Les produits sont cliquables afin qu'ils soient barrés. La mise à jour de la base de données fonctionne correctement, mais le barré n'est pas effectué sur l'élément correct. /** * Charge la liste de DB, place les données dans Listview et les grèves dans les produits inactifs */
public void loadListe()
{
//---get all titles---
meineListe.clear();
adapter.clear();
db.open();
Cursor c = db.getAllTitles();
ArrayList<String> strikedItems = new ArrayList<String>();
strikedItems.clear();
if (c.moveToFirst())
{
do {
if (c.getInt(0)==1) {
meineListe.add(c.getString(1));
strikedItems.add(c.getString(1));
}
else meineListe.add(c.getString(1));
} while (c.moveToNext());
}
db.close();
//Strike Through on inactive Items
list = this.getListView();
for (int i = 0; i < list.getChildCount(); i++) {
LinearLayout row = (LinearLayout) list.getChildAt(i);
TextView title;
title = (TextView) row.getChildAt(0);
//System.out.println("zeile "+i+ " "+title.getText());
if(strikedItems.contains(title.getText()))
{
title.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
System.out.println("zeile "+i+ " Title: "+title.getText());
title.setTextColor(0xFFFF0000); //black
}
}