如果数据发生了变化,我会尝试刷新listview。
lv = (ListView) this.findViewById(android.R.id.list);
mMyAdapter=(ListAdapter) new ImageAndTextListAdapter(this, total_list);
lv.setAdapter(mMyAdapter);
((ArrayAdapter<ImageAndText>) mMyAdapter).notifyDataSetChanged();
因此,在这种情况下,数据是total_list,如果它被更改,那么适配器会通知列表视图,然后列表视图会自动刷新?或者我需要在那里添加一些东西?
答案 0 :(得分:1)
根据the documentation,这是应该发生的事情。如果没有发生,那么它很可能是Android中的一个错误(因为它似乎是Android 1.6中的here)。意思是,你的假设是正确的,但错误确实潜入 - 但现在可能已经解决了。 :)
答案 1 :(得分:1)
notifyDataSetChanged()用于告诉listadapter您提供它的数据集已更改。这告诉listadapter它需要重新加载数据。这很重要,因为listadapter的许多默认值都包括使用缓存。只应在实际更改数据后调用notifyDataSetChanged()。