【问题标题】:Refresh gridview after download image [duplicate]下载图像后刷新gridview [重复]
【发布时间】:2012-12-24 03:27:21
【问题描述】:

可能重复:
How can I dynamically add images to a GridView?

在我的应用程序中,它允许用户从服务器下载图像并将其存储到内部存储中。下载完成后,gridview 没有更新并显示从服务器下载的图像。除非我重新启动应用程序或活动通过onCreate()。无论如何,我可以在应用程序完成下载过程后立即动态更新 gridview 吗?我试图用 invalidateView(); 刷新视图它也不起作用。任何 cmets 将不胜感激。

OnCreate()

    final GridView imagegrid = (GridView) findViewById(R.id.WebImageGrid);
    imageAdapter = new ImageAdapter();
    imagegrid.setAdapter(imageAdapter);



    Button loadContent = (Button) findViewById(R.id.load_btn);
    loadContent.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){
            if(load_images<count){
                load_images++;
                imageAdapter.LoadImage();
                imagegrid.invalidateViews();
                imagegrid.setAdapter(imageAdapter);
            }
            else{
                Toast.makeText(getApplicationContext(), "Successfully load all the content. Subscribe to get more content.", Toast.LENGTH_SHORT).show();
            }
        }
    });

【问题讨论】:

标签: android gridview download refresh


【解决方案1】:

网格视图有一个函数 invalidateViews() 尝试使用它。它用于使所有视图无效或重新绘制。下载完成后放置此行,它将再次重绘网格视图。 语法:yourGridView.invalidateViews();

【讨论】:

    【解决方案2】:

    最好使用延迟加载图像概念来满足您的要求。正如您所说,您正在从网络下载图像,最好使用延迟加载概念,这也可以为您提供更好的性能。您可以在此link 获得参考。在此链接中,显示在列表视图中加载图像,您的要求是网格视图。使用相同的适配器,一切都会正常工作。

    【讨论】:

      猜你喜欢
      • 2012-08-02
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多