0
我在stackoverflow上搜索了如何刷新使用ArrayAdapter的listview,并且我找到了一些解决方案,但是这些解决方案中的任何一个都不适合我!我无法刷新我的ArrayAdaper listview:S¿该怎么做?
我有一个NumberPicker和一个列表视图的接口。当我按下数字选择器的按钮时,listview必须更新自己,但没有奏效。当我按下按钮时,listview没有更新它自己,它保留着相同的数据...但它必须更新,因为当你按下按钮时,你正在更改适配器的一个参数,并且适配器正在接收新数据。 ..
这是我的代码:
public class Calendar extends Activity {
private ListView CalendarList = null;
private NumberPicker CalendarPicker = null;
private ArrayAdapter MyArrayAdapter = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calendar);
CalendarList = (ListView) findViewById(R.id.CalendarList);
CalendarPicker = (NumberPicker) findViewById(R.id.CalendarPicker);
CalendarPicker.setMaxValue(((MyApplication.NEQUIPOS*2)-2));//el maximo valor alcanzable por el picker es el numero de jornadas de la liga, es decir, ((NEQUIPOS*2)-2)
CalendarList.setClickable(false);
CalendarList.setFocusable(false);
CalendarList.setItemsCanFocus(false);
CalendarList.setSelected(false);
CalendarList.setEnabled(false);
CalendarPicker.increment.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
CalendarPicker.increment();
MyArrayAdapter.notifyDataSetChanged();
}
});
}
public void onResume() {
super.onResume();
CalendarPicker.setValue(MyApplication.RoundNumber);
MyArrayAdapter =new ArrayAdapter<String>(this, R.layout.list_item, MyApplication.roundMatches(CalendarPicker.getValue()));
MyArrayAdapter.setNotifyOnChange(true);
CalendarList.setAdapter(MyArrayAdapter);
}
}