如何为微调框填充对象。
示例:我有用户对象userId,userName,firstName,lastName。我需要用firstName填充显示微调框。如果用户选择,我需要获取userId。
private void fillUserSpinner() {
spinnerUserList = findViewById(R.id.spinnerUserList);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_dropdown_item_1line, userDbHelp.gteUserIds());
spinnerUserList.setAdapter(arrayAdapter);
}
private void onUserSelected() {
spinnerUserList = findViewById(R.id.spinnerUserList);
spinnerUserList.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
//Need to get selected userId
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
答案 0 :(得分:2)
您只想显示名字,请将此代码添加到模型类中:
@Override
public String toString() {
return firstName;
}
答案 1 :(得分:0)
与AppCompatSpinner一起使用ArrayAdapter ...
如果该ArrayAdapter
的项目(POJO)覆盖了方法toString()
,则可以跳过手动分配;然后将显示微调框项目的文本。
@Override
public String toString() {
return this.firstName;
}