如何删除微调框android中的默认值?

我使用JSON从数据库中获取值并将其插入到微调器中。 此过程正在成功运行。 但是当我点击微调时,我正在接受微调提示两次。 我怎样才能从微调删除第一个默认值…

这是快照: – 希望你明白我的问题: 在这里输入图像说明

这是我的代码:

private class GetCategories extends AsyncTask<Void, Void, Void> { protected void onPreExecute() { super.onPreExecute(); } @Override protected Void doInBackground(Void... arg0) { ServiceHandler jsonParser = new ServiceHandler(); String json = jsonParser.makeServiceCall(URL_CATEGORIES, ServiceHandler.GET); if (json != null) { try { JSONObject jsonObj = new JSONObject(json); if (jsonObj != null) { JSONArray categories = jsonObj .getJSONArray("categories"); categoriesList.clear(); for (int i = 0; i < categories.length(); i++) { JSONObject catObj = (JSONObject) categories.get(i); Category cat = new Category( catObj.getString("bus_type_id"), catObj.getString("bus_type")); categoriesList.add(cat); } } } catch (JSONException e) { e.printStackTrace(); } } else { Log.e("JSON Data", "Didn't receive any data from server!"); } return null; } @Override protected void onPostExecute(Void result) { super.onPostExecute(result); populateSpinner(); } } private void populateSpinner() { List<String> lables = new ArrayList<String>(); lables.add("Choose Type"); for (int i = 0; i < categoriesList.size(); i++) { lables.add(categoriesList.get(i).getbus_type()); } // Creating adapter for spinner ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, lables); // Drop down layout style - list view with radio button spinnerAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // attaching data adapter to spinner typeSpinner.setAdapter(spinnerAdapter); typeSpinner.setOnItemSelectedListener(typeSelectedListener); } private OnItemSelectedListener typeSelectedListener = new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { if (typeSpinner.getSelectedItem().toString() == "Choose Type") { str = ""; typeSpinnercity.getSelectedView(); typeSpinnercity.setEnabled(false); } else { ok.setEnabled(true); str = typeSpinner.getSelectedItem().toString(); typeSpinnercity.getSelectedView(); typeSpinnercity.setEnabled(true); if (Utils.checkInternet(CutomerOfferActivity.this)) { new GetCategoriesCity().execute(); } } } @Override public void onNothingSelected(AdapterView<?> parent) { } }; 

Solutions Collecting From Web of "如何删除微调框android中的默认值?"

使用ArrayAdapter并覆盖方法 – getDropDownView ..

 ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, lables){ @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { View v = null; if (position == 0) { TextView tv = new TextView(getContext()); tv.setHeight(0); tv.setVisibility(View.GONE); v = tv; } else { v = super.getDropDownView(position, null, parent); } parent.setVerticalScrollBarEnabled(false); return v; } }; 

使用上面提到的代码,并删除下拉列表中的默认值。