Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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 如何以这种特殊的方式在Android中使用spinner?_Java_Android_Spinner_Adapter - Fatal编程技术网

Java 如何以这种特殊的方式在Android中使用spinner?

Java 如何以这种特殊的方式在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。怎么做

所以,我有一个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);
希望这会有帮助