我是Android新手。我正在创建一个webview库,在那里我必须在baseadapter中显示200个webview内容。我不想把所有的200个网络视图一起加载。因此,在库的幻灯片上,我将把每个webviews添加到baseadapter并删除显示的webviews,然后用“notifydatasetchanged()”刷新baseadapter。
这里我面临的问题是:当我在“notifydatasetchanged()”上更新baseadapter时,库会刷新,刷新时库会闪烁。我要删除刷新BaseAdapter时的闪烁。有可能吗?
提前谢谢:)
最佳答案
我刚刚在我的应用程序中更正了它:)
我会用我那传奇的英语来解释。BaseAdapter.notifyDataSetChanged()
调用所有显示视图的Adapter.getView(...)
。
所以您只需在重写的方法中处理它(在我的例子中,我将业务对象放在view.tag中):
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// View is good to use
if (convertView != null && convertView.getTag() != null && convertView.getTag() == getItem(position)){
return convertView;
}else {
//Do your stuff
convertView.setTag(getItem(position))
return convertView;
}
}
我希望它能在3年后帮助某人:)