vendredi 17 juin 2016

My spinner adapter is not updating the spinner values on calling notifyDataSetUpdate change

This is my spinner function that initializing the spinner and setting adapter data is called in OnCreate() of the Activity

  private void spinnerSetting() {
    DataBaseOperations dataBaseOperations = new DataBaseOperations(this);
    spinner = (Spinner) findViewById(R.id.volt_spinner_);

    categories = dataBaseOperations.getInvertersType();
    // Creating adapter for spinner
     dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);

    // Drop down layout style - list view with radio writeNfcBt
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // attaching data adapter to spinner
    spinner.setAdapter(dataAdapter);

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

            mkvValue = parent.getItemAtPosition(position).toString();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });
}

From this piece of code when i click the button it update the my List(categories) which provides data to spinner adapter then i call notifyDataSetChange() but it didn't the spinner values but my List(categories ) are updated and have new values but spinner is showing old values

   List<Inverters> allData = inverter.getData();
                DataBaseOperations dataBaseOperations = new DataBaseOperations(AdminPanelActivity.this);
                dataBaseOperations.addInvertersNames(allData);
                categories.clear();
                //dataAdapter.clear();
                categories = dataBaseOperations.getInvertersType();
                dataAdapter.notifyDataSetChanged();
                spinner.setAdapter(dataAdapter);

Aucun commentaire:

Enregistrer un commentaire