QUESTION: If I set a variable prior to the onCreate
can I use notifyDataSetChanged()
to update an adapter that uses that array later?
I am instigating my city_values array
prior to my onCreate
-This is the only way I can get the script not to show any errors. But once the user selects a state from its spinner it should use notifyDataSetChanged()
to update the adapter that attaches the city_values array. Below is a small section of my code. I think my issue has to do with the city_value being set to early. How can I get around this?
public class SearchActivity extends Activity{
ArrayAdapter<String> adapter2;
String city_values[] = new String[]{"Please select a state first."};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_layout)
adapter2 = new ArrayAdapter<String> (this,android.R.layout.simple_spinner_item, city_values);
adapter2.setDropDownViewResource(R.layout.city_spinner_layout);
cityspinner.setAdapter(adapter2);
//On select of State spinner use item value to query and get citys reassign those values back to city_values and then tell adapter2 notifyDataSetChanged()
for (int i=0; i<jsonArray.length(); i++)
{
String styleValue = jsonArray.getJSONArray(i).getString(0);
Log.d(TAG, styleValue);
city_spinner[i] = styleValue;
}
city_values = city_spinner;
adapter2.notifyDataSetChanged();
See Question&Answers more detail:os