Tôi đang tìm nạp các giá trị từ Cơ sở dữ liệu bằng cách sử dụng JSON và chèn chúng vào trong spinner. Quá trình này đang chạy thành công. Nhưng tôi nhận được một gợi ý Spinner hai lần, khi tôi bấm vào spinner; làm thế nào tôi có thể loại bỏ các giá trị mặc định đầu tiên từ spinner ...Làm thế nào để loại bỏ giá trị mặc định trong android spinner?
Đây là bản chụp: - hy vọng bạn hiểu vấn đề của tôi:
Đây là mã của tôi: -
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) {
}
};
Tương tự như http://stackoverflow.com/questions/867518/how-to-make-an-android-spinner-with-initial-text-select-one. Hãy xem cái này. Nó làm việc cho tôi. – seema