您好我有以下对象:
public class busObj {
private int id;
private String registrationNo;
private String model;
private String driver;
private String contact;
public busObj() { }
public busObj(int id, String registrationNo, String model, String driver, String contact) {
this.id = id;
this.registrationNo = registrationNo;
this.model = model;
this.driver = driver;
this.contact = contact;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getRegistrationNo() {
return registrationNo;
}
public void setRegistrationNo(String registrationNo) {
this.registrationNo = registrationNo;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
public String getContact() {
return contact;
}
public void setContact(String contact) {
this.contact = contact;
}
@Override
public String toString() {
return model + " " + registrationNo + " - " + driver;
}
}
现在我已经创建了这个对象的ArrayList:
ArrayList<busObj> busList;
然后我用它来分配我的适配器并设置我的列表视图:
protected void setBusSpinner() {
bAdapter = new ArrayAdapter<busObj>(this, R.layout.simple_list_item, busList);
bAdapter.notifyDataSetChanged();
spBus.setAdapter(bAdapter);
}
现在上面的代码都有效,但是我的问题是我有一个关于同一活动的列表(不是片段)所以当用户点击该列表中的项目时,应该填充表单中的数据。
我可以使用EditText和TextView等进行此操作,但是当它出现在Spinner时我不知道如何去做,因为我的实际项目不是位置。
在我的情况下,所选项目将是&#34; bankObj&#34;但正如你从我的代码中看到的那样,我已经覆盖了&#34; toString()&#34;用于显示文本而不是对象的属性。
假设我有一个id为1的对象,如何将其设置为我的微调器中的当前所选项?
我在堆栈溢出上看到了几个与此类似的问题:How to set selected item of Spinner by value, not by position?但到目前为止没有一个对我有效。
答案 0 :(得分:0)
您是否尝试过获取bankObj.getId();