我是Android新手。我正在创建一个webview库,我必须在BaseAdapter中显示200个webview内容。我不想一起加载所有200个网页浏览量。因此,在库的幻灯片中,我将每个webview添加到BaseAdapter并删除显示的webview,然后我将使用“notifydatasetchanged()”刷新BaseAdapter
这里面临的问题是;当我在“notifydatasetchanged()”上更新BaseAdapter时,画廊会刷新,在刷新画廊时会闪烁。我想在刷新BaseAdapter时删除闪烁。可能吗?
提前致谢:)
答案 0 :(得分:2)
我刚刚在我的应用中纠正了它:) 我将尝试用我的传奇英语解释。
BaseAdapter.notifyDataSetChanged()
为所有显示的视图调用Adapter.getView(...)
。
所以你只需要在你的Overridden方法中处理它(在我的例子中,我把一个业务对象放在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年后它也能帮到某人:)