0
我有两个旋钮,第一个旋钮与第二个旋钮相关。我的第二个旋转器适配器在第一个旋转器位置发生变化后未更新
我正在使用JSON填充它们两个的适配器。
当我开始活动时,两个适配器已经填充了正确的数据(第一个和第二个适配器是相关的)。
但是,当我尝试更改第一个微调器的项目位置时,第二个微调器的适配器仍包含第一个加载的数据。
我想要的是,第二个微调器的适配器可以动态地包含与第一个微调器相关的数据,当第一个微调器的项目位置发生变化时。
我不知道是什么问题,我真的需要一些帮助。
这里是我的代码:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
@Override
public void onItemSelected (AdapterView <?> parent, View view,int position, long id){
try {
JSONObject json = result.getJSONObject(position);
result = json.getJSONArray("all_state");
state.clear();
for (int i = 0; i < result.length(); i++) {
try {
JSONObject json2 = result.getJSONObject(i);
state.add(json2.getString("state"));
} catch (JSONException e) {
e.printStackTrace();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
adapter = new ArrayAdapter<>(ViewState.this, R.layout.spinner_state, state);
adapter.notifyDataSetChanged();
spinner2.setAdapter(adapter);
}
@Override
public void onNothingSelected (AdapterView <?> parent){
}
});
尝试改变适配器=新ArrayAdapter <>(ViewState.this,R.layout.spinner_state,状态); adapter.notifyDataSetChanged(); spinner2.setAdapter(adapter); adpater = null; adapter = new ArrayAdapter <>(ViewState.this,R.layout.spinner_state,state); adapter.notifyDataSetChanged(); spinner2.setAdapter(adapter); –
@JhamanDas,不要在评论部分回答问题,他们打算给OP建议或要求澄清。 – Shashanth
@JhamanDas,它仍然不是答案,我试过它。 :( –