Xamarin Android C# 中的进度条和线程

     2023-03-15     19

关键词:

【中文标题】Xamarin Android C# 中的进度条和线程【英文标题】:Progress bar and thread in Xamarin Android C# 【发布时间】:2018-10-30 23:53:08 【问题描述】:

我尝试使用这种方法加载我的 SQL。当我点击按钮登录时,该方法正在工作,它显示了循环进度对话框,但在进度对话框完成或线程完成后,循环进度对话框仍然出现。

我希望使用 RunOnUiThread() 使 circleprogressbar 消失。我怎样才能弄清楚我的代码有什么问题?顺便说一句,我在我的片段中运行了这个,所以我需要使用 Activity 来调用 RunOnUiThread 函数。

circleprogressbar.Visibility = ViewStates.Visible;
new Thread(new ThreadStart(delegate
    

       while (progressValue < 100)
           
               progressValue += 10;
               circleprogressbar.Progress = progressValue;
                Thread.Sleep(2000);
           
  Activity.RunOnUiThread(() =>  circleprogressbar.Visibility = ViewStates.Invisible; );
            )).Start();

【问题讨论】:

【参考方案1】:

我建议创建event 来处理这种情况,如下所示:

public static class SomeClassWithEventDeclaration

    public event EventHandler<SomeClassType> Completed;


public class YourClassWithWork

    public void Work()
    
        SomeClassWithEventDeclaration.Completed += (sender, data) =>
         
           CheckTheData(data);
           HideProgressBar();
        ;
    

    public void MethodWithDataProcessing()
    
        try
        
           //Your processing
           SomeClassWithEventDeclaration.Completed.Invoke(someData);
        
        catch(Exception ex)
        
           //SomeClassWithEventDeclaration.Completed.Invoke(someErrorData);
        
    

我在没有智能感知的情况下编写了该代码,因此某些声明或方法调用可能需要进行一些检查。这个解决方案不是很好,但如果你现在需要它 - 那会有所帮助。 另外,我建议您阅读有关Xamarin Forms - Messaging Center 的信息。 在您的情况下使用此工具会更好。

【讨论】:

好的:)。谢谢我尝试使用该事件处理程序来计算它:) @JaysonEGarcia 如果这是您的解决方案,请将此标记为答案 哦,我忘了对不起。再次感谢你:)

C# 自定义控件(圆形进度条) Xamarin Forms

】C#自定义控件(圆形进度条)XamarinForms【英文标题】:C#customcontrol(circleprogressbar)XamarinForms【发布时间】:2016-09-1916:15:35【问题描述】:我想知道用XamarinForms创建与此图像类似的东西的最佳方法:我从来没有创造过这样的东西。... 查看详情

Android:为 Android Market 等 Endless List 实现进度条和“正在加载...”

】Android:为AndroidMarket等EndlessList实现进度条和“正在加载...”【英文标题】:Android:Implementingprogressbarand"loading..."forEndlessListlikeAndroidMarket【发布时间】:2011-06-0717:07:14【问题描述】:从AndroidMarket获得灵感,我实现了一个E... 查看详情

进度条和浓缩咖啡

...测试时显示的布局中有一个ProgressBar-然后我遇到:Causedby:android.support.test.espresso.AppNotIdleException:Loopedfor1670iterationsover60SECONDS.Thefollo 查看详情

Xamarin Android C# SQLite 参数查询

】XamarinAndroidC#SQLite参数查询【英文标题】:XamarinAndroidC#SQLiteParameterQuery【发布时间】:2018-11-2606:06:49【问题描述】:我正在尝试根据XamarinAndroidC#中的参数返回数据。拉回所有数据时,下面的代码可以正常工作,但是我需要使用S... 查看详情

C# Xamarin IOS:相当于 C# IOS Xamarin 中的 SystemClock.ElapsedRealtime()

】C#XamarinIOS:相当于C#IOSXamarin中的SystemClock.ElapsedRealtime()【英文标题】:C#XamarinIOS:EquivalentofSystemClock.ElapsedRealtime()inC#IOSXamarin【发布时间】:2018-02-2207:01:19【问题描述】:我需要保留应用程序启动后的时间。即使设备进入睡眠模... 查看详情

Xamarin 移动应用程序 c# 中的 agsXMPP 错误

】Xamarin移动应用程序c#中的agsXMPP错误【英文标题】:agsXMPPerrorinXamarinmobileappc#【发布时间】:2014-08-0116:54:58【问题描述】:我正在使用agsXMPP在Xamarin中开发一款适用于android的应用程序。但是发生了错误:加载程序集时出现错误1... 查看详情

如何将单独的参数传递给 Xamarin Android C# 中的 ListView.ItemClick 调用

】如何将单独的参数传递给XamarinAndroidC#中的ListView.ItemClick调用【英文标题】:HowtopassaseparateargumentthroughtoaListView.ItemClickcallinXamarinAndroidC#【发布时间】:2020-06-1021:17:40【问题描述】:所以我试图将参数传递给ListView.ItemClick调用,... 查看详情

如何将数据库表中的数据添加到 ListView C# Xamarin Android App

】如何将数据库表中的数据添加到ListViewC#XamarinAndroidApp【英文标题】:HowtoadddatafromdatabasetabletoListViewC#XamarinAndroidApp【发布时间】:2016-03-1419:42:20【问题描述】:几天前,我询问如何在活动之间共享数据,一位用户告诉我使用SQLit... 查看详情

将文件下载进度从 PCL 更新到 Xamarin.Android

】将文件下载进度从PCL更新到Xamarin.Android【英文标题】:UpdateFiledownloadprogressfromPCLtoXamarin.Android【发布时间】:2017-10-2821:39:50【问题描述】:在我们的xamarin.android应用程序中,我们正在从远程服务器下载一个文件,并且客户端列... 查看详情

如何在 Xamarin.Android 中实现 RewardedAdLoadCallback?

】如何在Xamarin.Android中实现RewardedAdLoadCallback?【英文标题】:HowcanIimplementRewardedAdLoadCallbackinXamarin.Android?【发布时间】:2021-05-1919:01:02【问题描述】:我正在尝试用C#在Xamarin.Android中实现奖励广告。Android文档中的代码sn-ps是用Java... 查看详情

来自 SQLite 数据库 C# Android 的 Xamarin ListView 显示项目

】来自SQLite数据库C#Android的XamarinListView显示项目【英文标题】:XamarinListViewdisplayitemfromSQLiteDatabaseC#Android【发布时间】:2016-03-1002:19:16【问题描述】:在我的情况下,我想显示我创建的本地SQLite数据库中的项目,如下所示:publics... 查看详情

用 C# (Xamarin) 编写 Android 应用程序 [关闭]

】用C#(Xamarin)编写Android应用程序[关闭]【英文标题】:WritingAndroidappsinC#(Xamarin)[closed]【发布时间】:2011-02-2808:08:23【问题描述】:我是一名C#程序员,想编写一个Android应用程序。我是一个顽固的脾气暴躁的人,拒绝再写Java(在六... 查看详情

活动之间的动画 Android c# Xamarin

】活动之间的动画Androidc#Xamarin【英文标题】:AnimationBetweenactivitiesAndroidc#Xamarin【发布时间】:2013-12-1117:57:48【问题描述】:我这样做是为了在我的活动之间做简单的动画:<translateandroid:duration="@android:integer/config_longAnimTime"androi... 查看详情

无法使用 C# 从 Xamarin.iOs 和 Xamarin.Android 连接到 MySql

】无法使用C#从Xamarin.iOs和Xamarin.Android连接到MySql【英文标题】:CannotconnecttoMySqlfromXamain.iOsandXamarin.AndroidusingC#【发布时间】:2014-12-0715:23:32【问题描述】:我在Mac上使用xamarinstudio为ios和android构建mob应用程序,我想连接到mysqlDB。... 查看详情

进度条和 webview 问题

】进度条和webview问题【英文标题】:Progressbarandwebviewissue【发布时间】:2019-02-2202:42:11【问题描述】:当我用LinearLayout替换RelativeLayout时,我的webview会占据整个屏幕,包括工具栏,但是progressbar工作正常AND当我使用LinearLayout我的... 查看详情

进度条和文件复制问题?

】进度条和文件复制问题?【英文标题】:ProgressBarandFileCopyingProblem?【发布时间】:2010-11-2022:43:05【问题描述】:使用VB6在我的项目中,当我将文件从一个文件夹复制到另一个文件夹时,我想像复制一样显示进度条......,一旦文... 查看详情

IOS Swift中进度条和标签的约束

】IOSSwift中进度条和标签的约束【英文标题】:ConstraintsforprogressbarandlabeltogetherinIOSSwift【发布时间】:2019-04-1105:39:37【问题描述】:我需要根据某些条件水平显示一个进度条和一个标签,而基于不同的条件,我需要垂直显示一个... 查看详情

UWP 进度条和绑定

】UWP进度条和绑定【英文标题】:UWPProgressBarandBinding【发布时间】:2017-07-1818:54:20【问题描述】:我在更新ProgressBar时遇到了非常奇怪的情况。基本上,我有SemanticZoom,在ZoomedIn模式下我有ListView。每个ListView都包含ProgressBar。这... 查看详情