【发布时间】:2018-05-22 18:37:04
【问题描述】:
问题:如果我在onCreate 之前设置了一个变量,我可以使用notifyDataSetChanged() 来更新稍后使用该数组的适配器吗?
我在我的onCreate 之前煽动我的city_values array - 这是我可以让脚本不显示任何错误的唯一方法。但是一旦用户从它的微调器中选择了一个状态,它应该使用notifyDataSetChanged() 来更新附加 city_values 数组的适配器。下面是我的代码的一小部分。我认为我的问题与 city_value 设置为早期有关。我该如何解决这个问题?
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();
【问题讨论】:
标签: java android spinner adapter