I want to set the selected item of a spinner
:
adapter = new ArrayAdapter<Rue>(this, android.R.layout.simple_spinner_item, db.getAllRues()); // db.getAllRues() has data
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ruePpale.setAdapter(adapter);
ruePpale.setSelection(adapter.getPosition(db.getRue(p.getDec_decoup_terri_code())), true); // p.getDec_decoup_terri_code() has data
Code of db.getRue :
public Rue getRue(String decoup_terri_code) {
Rue r = new Rue();
String[] columns = {"decoup_terri_code","decoup_terri_nom"};
Cursor c = bd.query(T_DECOUP_TERRIT, columns, "decoup_terri_code=?", new String[]{decoup_terri_code}, null, null, null);
if (c != null && c.getCount() > 0 ) {
c.moveToFirst();
r.setDecoup_terri_code(c.getString(0));
r.setDecoup_terri_nom(c.getString(1));
}
return r;
}
The problem is that at runtime the spinner
does not scroll automatically to the desired item ! What is bad in my code ?
-- EDIT --
I overwrote the equals method in the class Rue :
@Override
public boolean equals(Object o) {
if (!(o instanceof Rue)) {
return false;
}
Rue comp = (Rue) o;
return (this.getDecoup_terri_code() == comp.getDecoup_terri_code() && this.getDecoup_terri_nom() == comp.getDecoup_terri_nom());
}
But the spinner does not select the item !