Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用自定义对象填充微调器_Java_Android_Sqlite - Fatal编程技术网

Java 使用自定义对象填充微调器

Java 使用自定义对象填充微调器,java,android,sqlite,Java,Android,Sqlite,我想用SQLite表中的数据填充Android微调器。 我已经有了数据库控制器,它们正在返回自定义对象 现在我需要做的是用这些对象填充微调器,以便获得的不是字符串字段,而是Id字段。例如: My table Days,带有字段Id和Day: 身份证日 1-星期日 2-星期一 3-星期二 Day对象有两个属性(id和名称) 我希望微调器显示“Monday”,但在内部,将Id字段“2”存储在一个int变量中,以便再次查询数据库中的选定值 我想我必须用一个适配器,但我不知道我是否能用这个控制器做我想做

我想用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值)

在本教程之后,我终于解决了这个问题


在本教程之后,我终于解决了这个问题