如何删除spinner android中的默认值?
我使用JSON从数据库中获取值,并将它们插入到spinner中。此进程正在成功运行。 但当我点击微调器时,我收到了两次微调器提示;如何从微调器中删除第一个默认值 这是快照:-希望您理解我的问题: 这是我的密码:-如何删除spinner android中的默认值?,android,android-spinner,Android,Android Spinner,我使用JSON从数据库中获取值,并将它们插入到spinner中。此进程正在成功运行。 但当我点击微调器时,我收到了两次微调器提示;如何从微调器中删除第一个默认值 这是快照:-希望您理解我的问题: 这是我的密码:- private class GetCategories extends AsyncTask<Void, Void, Void> { protected void onPreExecute() { super.onPreExecute(); }
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) {
}
};
私有类GetCategories扩展异步任务{
受保护的void onPreExecute(){
super.onPreExecute();
}
@凌驾
受保护的Void doInBackground(Void…arg0){
ServiceHandler jsonParser=新ServiceHandler();
字符串json=jsonParser.makeServiceCall(URL\u类别,
ServiceHandler.GET);
if(json!=null){
试一试{
JSONObject jsonObj=新的JSONObject(json);
if(jsonObj!=null){
JSONArray categories=jsonObj
.getJSONArray(“类别”);
categoriesList.clear();
对于(int i=0;i
使用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;
}
};
ArrayAdapter spinnerAdapter=新的ArrayAdapter(此,
android.R.layout.simple\u微调器\u项目,标签){
@凌驾
公共视图getDropDownView(int位置、视图转换视图、视图组父级){
视图v=null;
如果(位置==0){
TextView tv=新的TextView(getContext());
电视设置高度(0);
tv.setVisibility(View.GONE);
v=电视;
}
否则{
v=super.getDropDownView(位置,空,父级);
}
parent.setVerticalScrollBarEnabled(false);
返回v;
}
};
使用上述代码并删除下拉列表中的默认值。类似于。看看这个。这对我有用。