Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android,Xamarin:滚动时将图片加载到循环查看器中_Android_Xamarin - Fatal编程技术网

Android,Xamarin:滚动时将图片加载到循环查看器中

Android,Xamarin:滚动时将图片加载到循环查看器中,android,xamarin,Android,Xamarin,你曾经使用过像9gag、Instagram或Facebook这样的应用程序吗?您注意到,在滚动图片时,会将其加载到recviewer中。它们一个接一个地出现,而你仍然可以使用这个应用程序 我已经实现了我自己的自定义recviewer,我被困在这里: pictures = KumulosHelper.Pictures.getNewestXPhotosFromUserInRange (strUsername, "6", startNumberO

你曾经使用过像9gag、Instagram或Facebook这样的应用程序吗?您注意到,在滚动图片时,会将其加载到recviewer中。它们一个接一个地出现,而你仍然可以使用这个应用程序

我已经实现了我自己的自定义recviewer,我被困在这里:

            pictures = KumulosHelper.Pictures.getNewestXPhotosFromUserInRange
                (strUsername, "6", startNumberOfTask.ToString(), "1");



        foreach (var picture in pictures)
        {
            startNumberOfTask++;

            var metrics = Resources.DisplayMetrics;

            lstData.Add(new DataForProfile()
            {
                imageId = startNumberOfTask,
                img = (Bitmap.CreateScaledBitmap
                (KumulosGeneral.DecodePhotoFromBase64(picture.photo),
                metrics.WidthPixels, metrics.WidthPixels, true)),
                description = picture.taskId.ToString()
            });


        }
我输入“6”的地方是我得到6张图片,从服务器加载到我的循环查看器中。我可以输入10或20,它会继续加载这些图片。因此,我可能会设置一个“reachedbottomevent”,以便在查看器到达末尾时继续加载新图片。但这意味着用户每次到达矩阵底部时都必须等待。这很烦人。此外,整个活动将不会开始,直到所有的图片都完全加载

如何让我的recview表现得像上面提到的应用程序一样?某种“智能”加载图片


谢谢你的意见

试着使用毕加索图书馆,它非常可靠且易于使用。它还将图片加载到背景线程中。

此外,在所有图片完全加载之前,整个活动不会启动

为了不阻塞UI线程,请尝试使用BackgroundWorker或任务


最后,如果您想在用户到达列表底部之前加载一批新的图像,请更改逻辑以触发对新批的调用,例如当用户滚动半张表时。

尝试使用非常可靠且易于使用的毕加索库。它还将图片加载到背景线程中。

此外,在所有图片完全加载之前,整个活动不会启动

为了不阻塞UI线程,请尝试使用BackgroundWorker或任务


最后,如果您想在用户到达列表底部之前加载新的一批图像,那么请更改逻辑以触发对新批图像的调用,例如当用户滚动半个表时。

您好,谢谢:那么我可以编写一个方法,在bacjground中下载一些图像,然后显示它吗?如果你能为你想要显示的图像创建一个URL,然后把这个URL给毕加索,它会为你处理所有的异步工作。一般来说,我认为你应该看看如何使用后台人员和任务。Xamarin站点可以为您提供非常好的教程。您好,谢谢:那么我可以写一个方法,在bacjground中下载一些东西,然后显示出来吗?如果你能为你想要显示的图像创建一个URL,然后把这个URL给毕加索,它会为你处理所有的异步工作。一般来说,我认为你应该看看如何使用后台人员和任务。Xamarin站点可以为您提供非常好的教程。