我有一个班级
zones
int id
String name
然后我创建了这个类的数组列表,并将其设置为arrayadapter,以便在微调器中最终显示(名称字段)。
但如果我有id
,我如何选择programaticaly区域答案 0 :(得分:0)
使用适配器类
您可以使用getItem(int position)
方法将对象放在适配器中的位置。
在适配器类之外,或者如果适配器位置与您的类ID不匹配,那么要使用类变量ID,您需要这样做。
创建一个类区域
public class Zones{
private int id;
private String name;
public Zones(int id, String name){
this.id = id;
this.name = name;
}
public int getId(){
return id;
}
public String getName(){
return name;
}
}
将类对象存储在列表对象
中List<Zones> zonesList = new ArrayList<Zones>();
zonesList.add(new Zones(1, "Finland"));
zonesList.add(new Zones(1, "Sweden"));
zonesList.add(new Zones(1, "Finland"));
zonesList.add(new Zones(1, "Finland"));
要获取具有类id变量的对象,请遍历List并检查id等于给定id的Zones对象。
for(Zones mZones : zonesList){
if(mZones.getId() == id){
// get the object your are looking for.
}
}
答案 1 :(得分:0)
创建模型区域
List<Zones> zonesList=new ArrayList<>();
zonesList.add(new Zones(1,"Name1"));
zonesList.add(new Zones(2,"Name2"));
zonesList.add(new Zones(3,"Name3"));
现在设置适配器,
yourSpinner.setAdapter(new ArrayAdapter<>(
this,
android.R.layout.simple_list_item_1,
zonesList
));
然后初始化你的Flash,
((Zones)yourSpinner.getSelectedItem)).getId();
获取所选项目
对于id:
((Zones)yourSpinner.getSelectedItem)).getName();
名称:
yourSpinner.getSelectedItem.toString();
或者只需使用,
{{1}}