0

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

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,我知道我可以在第一个 ot 中附加它,Data.cities但我问是否有来自 android 的标准方式。

4

3 回答 3

0

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

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。

于 2013-04-08T23:00:49.883 回答
0

我只是添加“设置城市”作为第一个微调器元素。ArrayAdapter http://developer.android.com/reference/android/widget/ArrayAdapter.html#insert(T , int)中有一个插入方法。您可以将“设置城市”添加为第一个元素。

于 2013-02-03T18:18:18.713 回答
0

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

看到这个

如何在测试中选择微调器的第一项

于 2017-04-05T05:21:11.763 回答