Я вырезал весь жир из своей проблемы. Может ли кто-нибудь сказать мне, почему список не обновляется с новыми значениями? Я пробовал все команды обновления, возможно, что-то мне не хватает?Почему мой список не обновляется?
public class DropboxFragment extends ListFragment {
String[] values;
ArrayAdapter<String> adapter;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" };
adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
values = new String[] { "IT", "WORKED"};
l.invalidateViews();
adapter.notifyDataSetChanged();
l.refreshDrawableState();
}
}
Благодаря человеку, это сработало! Так оно и должно быть сделано? – Ben
@Ben: Ну, вы можете обновить существующий адаптер новыми данными. Это «то, как это должно быть сделано». Сейчас ваш код ничего не меняет внутри адаптера. Если вы не хотите обновлять существующий экземпляр адаптера, вам необходимо заменить существующий экземпляр адаптера. – CommonsWare
Прохладный. Я попробовал values = new String [] {"IT", "WORKED"}; adapter.clear(); adapter.addAll (значения); но получил java.lang.UnsupportedOperationException Должен ли я добавить их все отдельно? – Ben