J'ai une ListActivity affichant un tas d'objets d'une liste. Je veux changer le fond & la couleur du texte de la ligne en fonction de l'état des deux booléens dans le MonitorObject.Android ListActivity couleur de la ligne basée sur l'état de l'objet
Dois-je étendre ArrayAdapter? Si oui, un échantillon de code serait grandement apprécié car j'ai essayé de le comprendre pendant quelques jours sans succès.
public class Lwm extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
setListAdapter(new ArrayAdapter<MonitorObject>(this, R.layout.row, getMonitorObjects()));
}
private List<MonitorObject> getMonitorObjects() {
List<MonitorObject> mos = new ArrayList<MonitorObject>();
mos.add(new MonitorObject(15000, 20000, 25000));
mos.add(new MonitorObject(15000, 14000, 18000));
mos.add(new MonitorObject(15000, 12000, 14000));
mos.add(new MonitorObject(100, 200, 250));
mos.add(new MonitorObject(3000, 2500, 3500));
return mos;
}
}
public class MonitorObject {
private int mTimeTotal;
private int mWarningThreshold;
private int mAlarmThreshold;`enter code here`
private boolean mWarning;
private boolean mAlarm;
public MonitorObject(int timeTotal, int warningThreshold, int alarmThreshold) {
this.mTimeTotal = timeTotal;
this.mWarningThreshold = warningThreshold;
this.mAlarmThreshold = alarmThreshold;
mWarning = (mTimeTotal > mWarningThreshold) ? true : false;
mAlarm = (mTimeTotal > mAlarmThreshold) ? true : false;
}
/*getters, setters, tostring goes here*/
}