c# - 加载只出现在代码执行结束时

标签 c# xamarin xamarin.android

我有一个按钮可以从 sqlite 表中删除记录。我试图放置加载屏幕,但它只出现在最后。你能帮帮我吗?

btnImportar.Click += delegate
{
    UserDialogs.Instance.ShowLoading("Aguarde...", MaskType.Black);

    string stm = "DELETE FROM Trender";

    using (SqliteCommand cmd2 = new SqliteCommand(stm, con))
    {
        cmd2.ExecuteNonQuery();
    }
}

最佳答案

我认为您阻止了 UI 线程的更新。做类似的事情,

UserDialogs.Instance.ShowLoading("Aguarde...", MaskType.Black);

ThreadPool.QueueUserWorkItem(_ => {
    string stm = "DELETE FROM Trender";

    using (SqliteCommand cmd2 = new SqliteCommand(stm, con))
    {
        cmd2.ExecuteNonQuery();
    }

    Activity.RunOnUiThread(() => {
        // Dismiss the dialog
    })
})

关于c# - 加载只出现在代码执行结束时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58484991/

相关文章:

c# - 找不到“ApplicationException”

c# - 为什么 UseStaticFiles 和 UseDefaultFiles 之间的顺序很重要?

image - Xamarin Forms 将来自 url 的图像保存到设备的图库中

xamarin - 是否需要拥有 Xamarin 帐户才能在 VS 2017 中构建 Xamarin 项目

Android SDK Manager 提示 "Loading SDK component information failed."

android - Material Theme Light.DarkActionBar 中的文本颜色不浅

c# - Xamarin 如何通过单击新资源布局来打开另一个布局

c# - 这个 C# Dictionary<,> 优化有什么意义?

c# - 如何在 Asp.net Gridview 列中为复选框单击添加事件

ios - Xamarin for iOS 中的分辨率独立性