等待被代码忽略并直接通过 Xamarin.Android

古斯塔沃·阿威罗

当我的方法被调用时,我需要打开我的弹出屏幕,但它被我的等待忽略并且不显示弹出窗口。

这是一个 android 设备,我rg.plugins.popup用来显示我的弹出页面,我使用 VS17 作为 IDE。

到目前为止,我还尝试同步调用我的方法,但这似乎也不起作用。

public async void PegaValor(bool retry)
{
    await PopupNavigation.PushAsync(new Paginas.PopupTentarNovamente());

    Paginas.PopupTentarNovamente tentarNovamente = new Paginas.PopupTentarNovamente();
    if (tentarNovamente.resultado)
    {
        retry = false;
    }
    else
    {
        retry = true;
    }
}
数字存储器

我怀疑需要在主 UI Dispatcher 上运行弹出窗口,我建议尝试以下操作:

public async void PegaValor(bool retry)
{
    Activity.RunOnUiThread(async () => {
        await PopupNavigation.PushAsync(new Paginas.PopupTentarNovamente());
    });

    Paginas.PopupTentarNovamente tentarNovamente = new Paginas.PopupTentarNovamente();
    if (tentarNovamente.resultado)
    {
        retry = false;
    }
    else
    {
        retry = true;
    }
}

编辑:

根据您的评论并快速查看您的 github 链接,这里有几种方法可以执行我的建议,尽管我仍然不知道您如何从 git 存储库实例化类。

因此,举一个简单的例子,这种方式假设您在活动中使用该类,因此您可以尝试以下操作

// Create an instance of metodosEmpenho in your activity and pass through the Activity as a parameter to the constructor.

public class MyActivity : Activity
{
    private MetodosEmpenho metodosEmpenho;

    protected override void OnCreate (Bundle savedInstanceState)
    {
        base.OnCreate (savedInstanceState);

        // Set our view from the "main" layout resource
        SetContentView (Resource.Layout.Main);

        metodosEmpenho = new MetodosEmpenho(Context as Activity);
        metodosEmpenho.VerOperador("");
    }
}

// Create a consturctor in the MetodosEmpenho class that will take the Activity paramter and store it for later use.

public class MetodosEmpenho
{
    private readonly Activity _activity

    public MetodosEmpenho(Activity currActivity)
    {
        _activity = currActivity;
    }

    public async void PegaValor(bool retry)
    {
        _activity.RunOnUiThread(async () => {
            await PopupNavigation.PushAsync(new Paginas.PopupTentarNovamente());
        });

        Paginas.PopupTentarNovamente tentarNovamente = new Paginas.PopupTentarNovamente();
        if (tentarNovamente.resultado)
        {
            retry = false;
        }
        else
        {
            retry = true;
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android / Xamarin代码混淆

来自分类Dev

等待用户确认Xamarin.Android的AlertDialog

来自分类Dev

Xamarin.Android:启动活动并等待结果

来自分类Dev

Xamarin跨Android / iOS的通用Xamarin.Forms代码

来自分类Dev

从Xamarin Android到Xamarin Windows可以重用多少代码

来自分类Dev

xamarin android xml 文件代码助手

来自分类Dev

通过Android在Xamarin中使用RestRequest

来自分类Dev

通过Android在Xamarin中使用RestRequest

来自分类Dev

Xamarin.Android与Android

来自分类Dev

如何在Android上的Xamarin C#中等待OnActivityResult

来自分类Dev

Xamarin在iOS,Android和Core项目之间共享代码

来自分类Dev

Xamarin Android中的延迟后如何运行代码

来自分类Dev

(Xamarin,Android)此代码如何帮助减少引用实例?

来自分类Dev

将Android Java代码转换为Xamarin C#

来自分类Dev

在Xamarin中使用Android Studio项目中的Java代码

来自分类Dev

如何在 Xamarin Android 中的 TextView 中显示源代码?

来自分类Dev

从代码中更改可绘制对象的颜色 (xamarin.android)

来自分类Dev

通过Xamarin.Android中的MVVMCross绑定OxyPlot

来自分类Dev

无法通过Visual Studio Team Services签名Xamarin Android APK

来自分类Dev

通过Xamarin.Android中的MVVMCross绑定OxyPlot

来自分类Dev

通过 Xamarin for Android 中的 Web 链接处理深层链接

来自分类Dev

Xamarin表单的BackDoor(Android)

来自分类Dev

降级Xamarin.Android

来自分类Dev

Xamarin清除Android日志

来自分类Dev

Xamarin Android上的振动

来自分类Dev

Xamarin Android日历活动

来自分类Dev

Xamarin Android中的BindableViewPager

来自分类Dev

NAudio和Xamarin Android

来自分类Dev

Xamarin Android绑定