Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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
Android 像HTML选择框一样使用微调器维护名称-值对?_Android_Android Spinner - Fatal编程技术网

Android 像HTML选择框一样使用微调器维护名称-值对?

Android 像HTML选择框一样使用微调器维护名称-值对?,android,android-spinner,Android,Android Spinner,我有一个微调器,显示位置名称数据,当然是字符串 现在的问题是,当用户选择它们时,我需要进一步传递位置的经纬度值 将该位置字符串发送回Geolocater并再次获取其经度-纬度值将是一件多余的事情 是否有一种方法可以维护连接到微调器中每个字符串项的经度-纬度双值类型。就像它发生在html选择框中一样? 有没有一种模式可以做到这一点,我的意思是,这似乎是foursquare等应用程序中非常流行的任务。是的,这非常简单,尽管它们不像HTML中那样完全是名称/值对 微调器实际上通过在适配器上调用getV

我有一个微调器,显示位置名称数据,当然是字符串

现在的问题是,当用户选择它们时,我需要进一步传递位置的经纬度值

将该位置字符串发送回Geolocater并再次获取其经度-纬度值将是一件多余的事情

是否有一种方法可以维护连接到微调器中每个字符串项的经度-纬度双值类型。就像它发生在html选择框中一样?
有没有一种模式可以做到这一点,我的意思是,这似乎是foursquare等应用程序中非常流行的任务。

是的,这非常简单,尽管它们不像HTML中那样完全是名称/值对

微调器实际上通过在适配器上调用getView来显示其值。默认情况下,ArrayAdapter应用于每个项的字符串-项本身不一定是字符串。因此,您可以定义一个新类,例如:

public class SpinnerItem {
    String name;
    double latitude;
    double longitude;

    @Override
    public String toString() {
        return name;
    }
}   
然后创建ArrayAdapter而不是ArrayAdapter

这将在微调器中显示名称。要获取经度/纬度值,只需使用adapter.getItemposition,例如从OnItemSelectedListener获取

如果您使用的是自定义适配器,那么解决方案基本上是相同的,只是您将在适配器中重写getView,而不是在项中实现toString