【发布时间】:2014-03-15 01:13:34
【问题描述】:
我使用下面的代码来初始化和刷新 ListView。加载片段并第一次调用该函数时,列表视图会毫无问题地填充。现在,如果我再次调用相同的函数,列表视图会消失,并且只有在我开始滚动、触摸屏幕或旋转设备等时才会重新出现新数据……我也尝试在 UI 线程上调用该函数,但没有成功。这个函数是从 Spinner.OnItemSelectedListener 调用的。
private void setList() {
ArrayList<Message> list = new ArrayList<Message>();
SaxFeedParser sfp;
List<Message> messages = new ArrayList<Message>();
switch (mSpinner.getSelectedItemPosition()) {
case 0:
sfp = new SaxFeedParser(1);
messages = sfp.parse();
sfp = new SaxFeedParser(2);
messages.addAll(sfp.parse());
break;
case 1:
sfp = new SaxFeedParser(1);
messages = sfp.parse();
break;
case 2:
sfp = new SaxFeedParser(2);
messages = sfp.parse();
break;
}
for (int i = 0; i < messages.size(); i++) {
list.add(messages.get(i));
}
mAdapter = new ListAdapter(this,
android.R.layout.simple_list_item_1, list,
(MainActivity) getActivity());
mList.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
mList.invalidateViews();
}
【问题讨论】: