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