Java 如何以这种特殊的方式在Android中使用spinner?
所以,我有一个ArrayList,它有名称和idJava 如何以这种特殊的方式在Android中使用spinner?,java,android,spinner,adapter,Java,Android,Spinner,Adapter,所以,我有一个ArrayList,它有名称和id Gil 232 Asty 2423 and so on. 为了在微调器中使用它,我所做的是创建两个单独的字符串ArrayList。一个包含名称,另一个包含相应的ID。因此,一旦用户被选中,我将从该位置获得相应的id 我不知道最后一部分该怎么做。至于,如何获取位置?>parent.getItemAtPosition(pos.toString() 这再次给出了名称,而不是名称在ArrayList中的位置,我可以使用它从另一个列表中检索ID。怎么做
Gil 232
Asty 2423 and so on.
为了在微调器中使用它,我所做的是创建两个单独的字符串ArrayList。一个包含名称,另一个包含相应的ID。因此,一旦用户被选中,我将从该位置获得相应的id
我不知道最后一部分该怎么做。至于,如何获取位置?>parent.getItemAtPosition(pos.toString()代码>
这再次给出了名称,而不是名称在ArrayList中的位置,我可以使用它从另一个列表中检索ID。怎么做?而且,这是一种更好的方式吗
public class User {
public int id;
public String name;
}
公共类CustomAdapter扩展ArrayAdapter实现微调器
.MSelectedListener{
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater充气机=getLayoutInflater();
视图=充气机。充气(android.R.layout.simple\u微调器\u项目,
父母,假);
数据=获取项目(位置);
//在此处对数据和视图执行某些操作
返回视图;
}
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
整数位置,长arg4){
数据=获取项目(位置);
//在这里处理数据
}
@凌驾
未选择公共无效(AdapterView arg0){
}
}
然后创建一个ArrayList
并与您的CustomAdapter
一起使用
公共类CustomAdapter扩展ArrayAdapter实现微调器
.MSelectedListener{
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater充气机=getLayoutInflater();
视图=充气机。充气(android.R.layout.simple\u微调器\u项目,
父母,假);
数据=获取项目(位置);
//在此处对数据和视图执行某些操作
返回视图;
}
@凌驾
已选择公共视图(AdapterView arg0、视图arg1、,
整数位置,长arg4){
数据=获取项目(位置);
//在这里处理数据
}
@凌驾
未选择公共无效(AdapterView arg0){
}
}
然后创建一个ArrayList
并与您的CustomAdapter
一起使用pos
变量是从微调器中选择的项目的位置,因此您可以使用此位置获取所选相应名称的id(从第二个ArrayList)
另外,您还可以创建一个HashMap映射
在该映射中输入值,如map.put(name,id)代码>所以当用户从微调器中选择值时,您将选择名称。然后使用映射获取相应的id
like String id = map.get(selected_name);
希望对您有所帮助。变量pos
是从微调器中选择的项目的位置,因此您可以使用此位置获取所选相应名称的id(从第二个ArrayList)
另外,您还可以创建一个HashMap映射
在该映射中输入值,如map.put(name,id)代码>所以当用户从微调器中选择值时,您将选择名称。然后使用映射获取相应的id
like String id = map.get(selected_name);
希望这会有帮助