【问题标题】:Populating a dependent spinner from an independent spinner从独立微调器填充依赖微调器
【发布时间】:2011-08-17 02:16:58
【问题描述】:

我有一个 Spinner 对象,其中包含一个字符串数组,其中填充了美国 50 个州。

我还有一些包含不同州城市列表的数组。我想要做的是用另一个微调器选择的州的城市数组填充依赖微调器。

例如:

选定的第一个微调器 - 阿拉斯加

第二个旋转器 - 安克雷奇、费尔班克斯、凯奇坎、科迪亚克。

另一个例子:

选定的第一个微调器 - 佛罗里达

第二个旋转器 - 基韦斯特,塔拉哈西。

问题是我不确定如何根据所选状态微调器填充依赖微调器。

我使用的数组适配器接受一个整数值,该整数值引用用于填充微调器的数组。

【问题讨论】:

    标签: java arrays spinner


    【解决方案1】:

    我不知道您使用的确切 API 调用,但这是我会使用的一般方法:

    class CitySpinnerFactory {
    
        Map<String,Spinner> stateToCitySpinner = new HashMap<String,Spinner>();
    
        public void map(String state, Spinner citiesForState) {
            stateToCitySpinner.put(state,citiesForState);
        }
    
        public Spinner spinnerForState(String state) {
            return stateToCitySpinner.get(state);
        }
    
    }
    

    稍后您可能会这样做以填充城市和州

    Spinner states = new Spinner();
    Spinner cities = null;
    CitySpinnerFactory cityFactory = new CitySpinnerFactory();
    
    states.add("Alabama");
    cities = new Spinner();
    cities.add("Birmingham"); // city in AL
    cities.add("Mobile"); // city in AL
    cityFactory.map("Alabama",cities);
    
    states.add("Alaska");
    cities = new Spinner();
    cities.add("Juneau"); // city in AK
    cities.add("Anchorage");
    cityFactory.map("Alaska",cities);
    // ... add other states
    

    然后你可能会这样做来让城市出去

    String state = states.spin(); // making up method to get a random state...
    Spinner cities = cityFactory.spinnerForState(state);
    String city = cities.spin();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 2023-03-11
      相关资源
      最近更新 更多