如何在ListView中重绘视图

时间:2013-01-07 11:57:54

标签: android android-listview android-fragments

我在片段中有一个listView。列表视图中的某些视图文本部分是从适配器中的Web下载的。当我从另一个fragent改变这个文本部分时,我希望第一个片段重绘它的视图。

我试过了:

myListView.invalidate();
myListView.invalidateViews();
myListView.refreshDrawableState();
adapter.notifyDataSetChanged();
adapter.updateComments();

UpdateComments是我自己的功能。我在onScroll上保存指向当前显示视图的指针,并要求每个视图更新所请求的视图,但没有任何反应。

如果我向下滚动然后向上并且我的视图使用适配器的getView方法重绘,则会显示新文本。

如何在不滚动的情况下更新视图?

2 个答案:

答案 0 :(得分:0)

更新后再次在列表上使用setAdapter或setListAdapter。

答案 1 :(得分:0)

可以正常使用
adapter.notifyDataSetInvalidated();

但它滚动到列表视图的顶部,然后我使用

feed.setSelection(adapter.lastPosition);

我在listview的onScroll方法中获取了lastPosition。