Я не могу обновить свой список рассылки ArrayAdaper: S ¿как это сделать? - PullRequest
0 голосов
/ 23 июля 2011

Я искал в stackoverflow, как обновить список, который использует ArrayAdapter, и я нашел некоторые решения, но ни одно из этих решений не сработало для меня!

У меня есть интерфейс с NumberPicker и просмотр списка. Когда я нажимаю на кнопки выбора чисел, список должен обновляться, но не работает. Когда я нажимаю кнопки, просмотр списка не обновлял себя, он остается с теми же данными ... но он должен обновляться, потому что когда вы нажимаете кнопку, вы изменяете один параметр адаптера, и адаптер получает новые данные. ..

это мой код:

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);
      }


}

1 Ответ

1 голос
/ 23 июля 2011

Прежде чем позвонить MyArrayAdapter.notifyDataSetChanged();, введите в адаптер новые данные, а затем наберите MyArrayAdapter.notifyDataSetChanged();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...