Как заполнить спиннер с приглашением по умолчанию из Mysql с помощью Json - PullRequest
0 голосов
/ 01 ноября 2018

Я использую MySQL с Android Studio. Я хочу установить подсказку по умолчанию для счетчика. Я также пытался установить то же значение из XML с атрибутом spinner для приглашения. Но это не работает должным образом. Ниже мой код.

public static final String CollegeNamearray = "college";
public static final String JSON_ARRAY = "result";
public static final String JSON_ID = "id";
private JSONArray result;
Spinner spinner;
spinner = (Spinner) findViewById(R.id.spinner);
arrayList = new ArrayList<String>();


getdata();
shared=getSharedPreferences(AppPreference.USER_DETAILS, Context.MODE_PRIVATE);

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
item = getcollegeid(position).toString();

}

@Override
public void onNothingSelected(AdapterView<?> adapterView) {
txtview1.setText("");
}

});


private void getdata() {

final StringRequest stringRequest = new StringRequest(URLs.HttpUrlgetcollege,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {


JSONObject j = null;

try {
j = new JSONObject(response);
result = j.getJSONArray(JSON_ARRAY);
collegelist(result);
} catch (JSONException e) {
e.printStackTrace();
}

//    Toast.makeText(getApplicationContext(),response,Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}

private void collegelist(JSONArray j) {
for (int i = 0; i < j.length(); i++) {
try {
JSONObject json = j.getJSONObject(i);
arrayList.add(json.getString(CollegeNamearray));
} catch (JSONException e) {
e.printStackTrace();
}
}

spinner.setAdapter(new ArrayAdapter<String>(login.this, android.R.layout.simple_spinner_dropdown_item, arrayList));

}

Пожалуйста, дайте решение для установки подсказки перед загрузкой данных.

Спасибо заранее.

1 Ответ

0 голосов
/ 01 ноября 2018

Вам необходимо изменить этот код, как показано ниже. вам нужно добавить значение по умолчанию в качестве первого элемента счетчика

 private void collegelist(JSONArray j) {
  //add default value as first element of spinner
 arrayList.add("default value")

for (int i = 0; i < j.length(); i++) {
......
}
...