android spinner如何设置无选择值

时间:2013-02-03 17:46:24

标签: android android-spinner

我有一个从服务器获取数据的微调器,我想设置第一个选择值,如“设置城市”。我像这样填充微调器:

s_city = (Spinner) findViewById(R.id.s_city);
        ArrayAdapter<String> cityAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, Data.cities);
        cityAdapter
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        s_city.setAdapter(cityAdapter);

我希望第一个选择是set city,我知道我可以将其添加到第一个Data.cities中,但我想知道是否有来自android的标准方式。

3 个答案:

答案 0 :(得分:0)

我只是添加“Set City”作为第一个微调元素。 ArrayAdapter http://developer.android.com/reference/android/widget/ArrayAdapter.html#insert(T中有一个insert方法,int。。你可以添加“Set City”作为第一个元素。

答案 1 :(得分:0)

在列表的开头添加一个额外的项目“设置城市”,然后执行以下操作:

SpinnerAdapter adapter = new ArrayAdapter<String>(getActivity(),
            R.layout.list_item, list) {
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = super.getView(position, convertView, parent);
            if (position == 0) {
                ((TextView) v.findViewById(android.R.id.text1)).setText("");
                ((TextView) v.findViewById(android.R.id.text1)).setHint("Set City");
            }
            return v;
        }
    };

当处理onItemSelected时,也不要忘记特别处理位置0。

答案 2 :(得分:0)

你可以这样设置
Spinner.setSelection(Adapter.NO_SELECTION,false);

看到这个

How to select first item of a spinner in a test