android - 如何用新图像更新 gridview

标签 android gridview xamarin

adapter = new ImageAdapter(this, imagelist, imageBool, resourceName, docBool);
            adapter.NotifyDataSetChanged();
            //gridview.Adapter = null;
            gridview.InvalidateViews();
            gridview.Adapter = adapter;

我将包含新值的列表发送到图像适配器,它对值进行排序并将项目作为图像返回,一切都很好。但是,当我想刷新项目时,旧项目保持不变,而新项目永远不会出现在屏幕上。我尝试了很多不同的方法来重新加载网格,但它不起作用。

最佳答案

将以下方法添加到您的自定义适配器,即。 ImageAdapter.

// Call it once , first time when you want to pass the data to adapter 
public void setImageList(List<YOUR DATA TYPE> imagelist) {
    this.imagelist = imagelist;
}

// Call this method whenever new data is to be added to existing list.
public void updateImageList(List<YOUR DATA TYPE> newImagelist) {  

    if(this.imagelist != null){
       this.imagelist.addAll(newImagelist);
    }else{
       this.imagelist = imagelist;
    }

    notifyDataSetChanged();
}

并在下载新数据后调用它。

关于android - 如何用新图像更新 gridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24953945/

相关文章:

c# - DevExpress中获取GridView的单元格控件

ios - Xamarin iOS 24 小时时间选择器

android - AlarmManager 和 WakefullBroadcastReceiver 传递的 Extras 有多私密?

android - 动态设置布局参数

WPF 从 GridView 的选择/鼠标上移除光泽效果

ios - Xamarin 上的 NSItemProviderReading

c# - 有没有办法修复错误 : 'Xamarin.Forms recommends TargetPlatformMinVersion >= 10.0.17763.0 (current project is -1)'

android - 在 Android 中,是否保证 AbstractWindowedCursor.isBlob() 是正确的?

android - 在收到通知推送后将 Android 应用程序带到前台,例如应用程序启动器

android - 如何确定 Realm 是否存在以及其中是否有数据