我有一个非常漂亮的MergeAdapter,它包含一堆自定义视图和一些自定义ListAdapter。此MergeAdapter驱动ListActivity,显示每x秒更新一次的内容。更新MergeAdapter的内容
目前我只需要创建一个新的MergeAdapter,创建并添加所有的我自定义视图(这包括一些ImageViews) - 和调用setAdapter在我活动的ListView。
约10分钟后,我用完的堆空间和崩溃更新后。
最终因为一个新的ImageView的加入,和下面的异常被抛出:
Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
用更简单的适配器(如ArrayAdapter),我只想更新数据集,并调用
notifyDataSetChanged()
在适配器上。
是否有“更新”一MergeAdapter类似的/推荐的方法呢?或者我应该走一个潜在复杂的MergeAdapter的内容并更新单个视图?
我使用自定义光标适配器为我的单个列表视图。我尝试将两个游标适配器合并成一个单一的列表视图。我想刷新listview结果来自server.But mergeAdapter不刷新。 。 –
FeedQuestionCursor = ctx.getContentResolver()的查询( \t \t \t \t \t FeedQuestionProvider.FEED_QUESTION_URI,NULL,NULL,NULL, \t \t \t \t \t NULL); \t \t \t QuestionAdapter.changeCursor(FeedQuestionCursor); \t \t \t QuestionAdapter =新FeedQuestionCursorAdapter(getActivity(), \t \t \t \t \t FeedQuestionCursor); \t \t \t lv_earn_question.invalidate(); \t \t \t // QuestionAdapter.notifyDataSetChanged(); \t \t \t((BaseAdapter)QuestionAdapter).notifyDataSetChanged(); –
@CommonsWare:我使用MergeAdapter来合并不同的视图和SimpleCursorAdapters。正如你所说notifyDataSetChanged更新任何ListAdapter。但有没有解决方法来更新视图?请帮忙。 –