Java 使用自定义对象填充微调器
我想用SQLite表中的数据填充Android微调器。 我已经有了数据库控制器,它们正在返回自定义对象 现在我需要做的是用这些对象填充微调器,以便获得的不是字符串字段,而是Id字段。例如: My table Days,带有字段Id和Day: 身份证日 1-星期日 2-星期一 3-星期二 Day对象有两个属性(id和名称) 我希望微调器显示“Monday”,但在内部,将Id字段“2”存储在一个int变量中,以便再次查询数据库中的选定值 我想我必须用一个适配器,但我不知道我是否能用这个控制器做我想做的事情 首先,我希望得到一些命令或建议Java 使用自定义对象填充微调器,java,android,sqlite,Java,Android,Sqlite,我想用SQLite表中的数据填充Android微调器。 我已经有了数据库控制器,它们正在返回自定义对象 现在我需要做的是用这些对象填充微调器,以便获得的不是字符串字段,而是Id字段。例如: My table Days,带有字段Id和Day: 身份证日 1-星期日 2-星期一 3-星期二 Day对象有两个属性(id和名称) 我希望微调器显示“Monday”,但在内部,将Id字段“2”存储在一个int变量中,以便再次查询数据库中的选定值 我想我必须用一个适配器,但我不知道我是否能用这个控制器做我想做
谢谢您可以使用自定义微调器执行此操作。请参见在xml中单独设计微调器项并使用LayoutFlator 可以使用自定义微调器执行此操作。请参见在xml中单独设计微调器项并使用LayoutFlator 您可以使用
ArrayAdapter
通过方法setAdapter
填充微调器
private List<MyData> data;
...
mySpinner.setAdapter<MyData>(new ArrayAdapter(getContext(), resId, data));
...
public class MyData {
private int _id;
public MyData(int id) {
this._id = id;
}
@Override
public String toString() {
switch (this._id) {
....
}
}
}
私有列表数据;
...
setAdapter(新的ArrayAdapter(getContext(),resId,data));
...
公共类MyData{
私人内部id;
公共MyData(int-id){
这个。_id=id;
}
@凌驾
公共字符串toString(){
开关(此。\u id){
....
}
}
}
您可以使用ArrayAdapter
通过方法setAdapter
填充微调器
private List<MyData> data;
...
mySpinner.setAdapter<MyData>(new ArrayAdapter(getContext(), resId, data));
...
public class MyData {
private int _id;
public MyData(int id) {
this._id = id;
}
@Override
public String toString() {
switch (this._id) {
....
}
}
}
私有列表数据;
...
setAdapter(新的ArrayAdapter(getContext(),resId,data));
...
公共类MyData{
私人内部id;
公共MyData(int-id){
这个。_id=id;
}
@凌驾
公共字符串toString(){
开关(此。\u id){
....
}
}
}
保存:
在适配器的getView()中,使用“setTag”方法设置“Day对象”
检索:(旋转器的简化方法)
现在,使用getTag()方法获取“Day对象”(Day对象。getId()将返回int值)保存:
在适配器的getView()中,使用“setTag”方法设置“Day对象”
检索:(旋转器的简化方法)
现在通过使用getTag()方法,获取“Day对象”(Day object.getId()将返回int值)在本教程之后,我终于解决了这个问题
在本教程之后,我终于解决了这个问题