我有一个微调对象,其中包含一个字符串数组,其中填充了美国的50个州。
我还有一些包含不同州的城市列表的数组。我想要做的是用其他微调器选择的州的城市数组来填充dependent微调器。
举个例子:
选定的第一个微调器-阿拉斯加
第二旋转-安克雷奇,费尔班克斯,凯奇坎,科迪亚克。
另一个例子:
选定的第一个微调器-佛罗里达州
第二旋转-基韦斯特,塔拉哈西。
问题是我不确定如何根据所选的状态微调器填充从属微调器。
我正在使用的Array Adapter接受一个整数值,该值引用用于填充微调器的数组。
发布于 2011-08-17 02:16:59
我不知道您使用的确切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();https://stackoverflow.com/questions/7082870
复制相似问题