3

我是安卓新手。我正在创建一个 webviews 库,我必须在 BaseAdapter 中显示 200 个 webview 内容。我不想将所有 200 个 webviews 一起加载。所以在画廊的幻灯片上,我会将每个 webviews 添加到 BaseAdapter 并删除显示的 webviews,然后我将使用“notifydatasetchanged ()”刷新 BaseAdapter

我面临的问题是;当我在“notifydatasetchanged()”上更新 BaseAdapter 时,图库会刷新,在刷新图库时会闪烁。我想消除刷新 BaseAdapter 时的闪烁。可能吗 ?

提前致谢 :)

4

1 回答 1

3

我刚刚在我的应用程序中更正了它:)
我将尝试用我传奇的英语进行解释。

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 年后对某人有所帮助:)

于 2014-03-18T11:10:47.557 回答