我是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年后帮助某人:)

10-08 03:47
查看更多