Я пытаюсь настроить gridview, которое будет обновляться при выполнении нового поиска.Android - обновление GridView при нажатии кнопки
это мой призыв настроить GridView
final GridElement_Results adapter = new GridElement_Results(this, savedInstanceState, track_name, album_name, track_num, album_id, album_link);
grid = (GridView)findViewById(R.id.grid_results);
grid.setAdapter(adapter);
Как вы можете видеть, я передаю ему кучу массивов.
Нажав кнопку, вызывается функция getTracks(), которая получает новые данные с сервера. Массивы обновляются с новыми данными, которые я проверил, работает.
icon_activesearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getTracks("newsearchterm");
adapter.notifyDataSetChanged();
grid.invalidateViews();
}
}
);
И тогда я называю adapter.notifyDataSetChanged() и grid.invalidateViews() для обновления и перерисовки сетки. Но, очевидно, я делаю что-то не так.
Это потому, что я устанавливаю адаптер как окончательный? Чтобы получить доступ к нему в методе onClick, мне нужно установить его в final.
Что я должен изменить, чтобы заставить его работать.
добавить 'getTracks()' метод –
Вы проходящие новые результаты в адаптере? – Francesc
из того, что я вижу, вы не передаете объекту типа List, ArrayList или Array на ваш адаптер. Как именно адаптер получает данные, которые он показывает? – Anonymous