我想设置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
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;
}
问题是在运行时spinner
不会自动滚动到所需的项目!我的代码有什么不好?
- 编辑 -
我在类Rue中覆盖了equals方法:
@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());
}
但是微调器没有选择项目!
答案 0 :(得分:0)
好的,在@Selvin的帮助下,我实现了我在问题中发布的equals
方法。我将==
比较器替换为equals
方法。