Spinner项目列表中的问题

时间:2011-03-09 14:16:02

标签: android

在android中我可以让一个Spinner包含一些类别和一些子项目。

例如,我说选择一个国家/地区,然后会显示特定城市供选择。

请帮帮我

1 个答案:

答案 0 :(得分:2)

如果您有两个微调器,则可以在另一个微调器中进行选择时填充一个。 OnItemSelectedListener可以用于此目的。类似下面的内容可能有用,虽然我还没有测试过,所以它可能包含错误。即使它有效,也不是所有事情都可能以最好的方式完成。

final HashMap<String, ArrayList<String>> optionsForCategories;
final Spinner categorySpinner;
final spinner individualSpinner;
final ArrayAdapter<String> individualSpinnerAdapter;

...

categorySpinner.setOnItemSelectedListener(new OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent, View view, 
            int position, long id) {
        String selectedCategory = parent.getItemAtPosition(position);
        individualSpinnerAdapter.clear();
        individualSpinnerAdapter.addAll(optionsForCategories.get(selectedCategory);
    }

    public void onNothingSelected(AdapterView<?> parent) { }
});

这将是非常自然的,预计会有两个微调器。但是,如果你真的只想要一个(不清楚,但似乎暗示在你的问题中),那么你可以从微调器的OnItemSelectedListener中显示一个对话框。