我有一个从服务器获取数据的微调器,我想设置第一个选择值,如“设置城市”。我像这样填充微调器:
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的标准方式。
答案 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);
看到这个