Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
C# 如何在Xamarin表单中维护列表视图项的下载进度_C#_Xamarin_Xamarin.ios_Xamarin.android_Xamarin.forms - Fatal编程技术网

C# 如何在Xamarin表单中维护列表视图项的下载进度

C# 如何在Xamarin表单中维护列表视图项的下载进度,c#,xamarin,xamarin.ios,xamarin.android,xamarin.forms,C#,Xamarin,Xamarin.ios,Xamarin.android,Xamarin.forms,我正在使用包含项目模板的ListView来显示带有下载按钮的书籍信息(包含书籍图像、标题、作者和下载书籍的按钮) 需要在单击每本书的下载按钮时显示下载进度。我在单独的类中管理进度值,并使用该单独的类对象来维护收藏中每本书的进度。如下图所示 滚动页面时,用于下载书籍的下载进度值变为空。例如,在上面的屏幕截图中,滚动视图时下载显示为null的进度值。您能就此提出建议吗?我在想,您可以为listview设置一个滚动侦听器,如果正在滚动listview,请关闭ProgressBar 但是如果您不想这样

我正在使用包含项目模板的ListView来显示带有下载按钮的书籍信息(包含书籍图像、标题、作者和下载书籍的按钮)

需要在单击每本书的下载按钮时显示下载进度。我在单独的类中管理进度值,并使用该单独的类对象来维护收藏中每本书的进度。如下图所示


滚动页面时,用于下载书籍的下载进度值变为空。例如,在上面的屏幕截图中,滚动视图时下载显示为null的进度值。您能就此提出建议吗?

我在想,您可以为listview设置一个滚动侦听器,如果正在滚动listview,请关闭ProgressBar

但是如果您不想这样做,您可以尝试实现一个“ViewHolder”设计模式,这可能会解决您的问题。因为

ViewHolder对象将每个零部件视图存储在布局的标记字段中,因此您无需重复查找即可立即访问它们


请参阅为您的
列表视图实现“ViewHolder”设计模式,不要忘记为每个项目视图设置标记

当您向上或向下滚动以节省内存时,android系统会重复使用行项目。您是否介意在滚动时使您的
ProgressBar
不可见?已根据下载按钮设置isvisible属性。单击下载按钮后,根据滚动时进度条的可见性设置,将IsDownloadStarted设置为true。是否检查了我的答案?有更新吗?谢谢你的更新。我已将每个属性绑定到模板可见性中,并使用转换器对其进行处理。如果你觉得我的答案对你有帮助,你能帮我标记一下吗?