Question

I have a spinner that I put its items dynamically from my database but the problem is I can't know which item is selected by the method setOnItemSelectedListener

Here is my java code :

public class Choix extends Activity {
JSONArray ja1 = null;

List<String> list = new ArrayList<String>();
ArrayAdapter<String> dataAdapter;
Spinner spinner;
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.choix_espace); 
    spinner = (Spinner) findViewById(R.id.spinner); 
    liste_ecoles k = new liste_ecoles();
    k.execute();

  dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item, list);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(dataAdapter);


    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
        // TODO Auto-generated method stub
            Toast.makeText(getBaseContext(), ""+arg2, Toast.LENGTH_SHORT).show();

        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }
    });

    }
private class liste_ecoles extends AsyncTask<String, Integer, Object> {
    String ch1="";

    @Override
    protected Object doInBackground(String... params) {

        JSONArray ja = null;


        try {

            URL twitter = new URL("...");
            URLConnection tc = twitter.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(
                    tc.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                ja = new JSONArray(line);
            }
        } catch (Exception e) {
        }

        return ja;

    }
    @Override
    protected void onPostExecute(Object resultat) {
        JSONArray ja = (JSONArray) resultat;
        if (resultat != null) {

            try {

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

                    JSONObject jo1 = null;
                    jo1 = ja.getJSONObject(i);
                    ch1 = jo1.getString("nom_ecole"); 
                    list.add(ch1);


                }


        }
        catch (Exception e) {
            }
        }
        }
        }   
    }

so can someone helps me please ?

Was it helpful?

Solution

I solved my problem ; I've just added " dataAdapter.notifyDataSetChanged(); " after adding items on my spinner

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top