Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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/C#:防止启动时出现旋转式吐司_C#_Android_Xamarin - Fatal编程技术网

Android/C#:防止启动时出现旋转式吐司

Android/C#:防止启动时出现旋转式吐司,c#,android,xamarin,C#,Android,Xamarin,问题:关于如何在Android中实现微调器,我遵循了不同的教程,例如。然而,当应用程序第一次打开时,祝酒会立即进行,用户无需选择任何内容 我的解决方案:我尝试创建一个布尔变量,即在启动时将其设置为“false”。只有当布尔值设置为“true”时,toast才会显示。此解决方案有效:启动时不进行烤面包,但如果用户必须选择第一个项目(默认情况下选择),则不进行烤面包。在用户选择不同的选项并随后重新选择第一个选项后,将仅显示第一个项目的toast。但这不是一个大问题。我的代码如下所示 在我的OnCre

问题:关于如何在Android中实现微调器,我遵循了不同的教程,例如。然而,当应用程序第一次打开时,祝酒会立即进行,用户无需选择任何内容

我的解决方案:我尝试创建一个布尔变量,即在启动时将其设置为“false”。只有当布尔值设置为“true”时,toast才会显示。此解决方案有效:启动时不进行烤面包,但如果用户必须选择第一个项目(默认情况下选择),则不进行烤面包。在用户选择不同的选项并随后重新选择第一个选项后,将仅显示第一个项目的toast。但这不是一个大问题。我的代码如下所示

在我的OnCreate方法中,我有以下内容:

        boolToast = false;
        Spinner spinner = FindViewById<Spinner>(Resource.Id.spinner);
        spinner.SetSelection(0, false);
        spinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(Spinner_ItemSelected);
        var adapter = ArrayAdapter.CreateFromResource(this, Resource.Array.array, Android.Resource.Layout.SimpleSpinnerItem);
        adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
        spinner.Adapter = adapter;

我已经对它感到满意了,但我想知道是否有一种更优雅或更合适的方式来实现这一点。我还看到了一些其他相当类似的问题,但这些问题大部分都是我非常不熟悉的Java语言

在将适配器分配给微调器并对其进行任何初始设置后,设置
微调器。ItemSelected
。我确实尝试过(在
spinner.Adapter=Adapter;
之后),但没有任何区别。
    private void Spinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
    {
        Spinner spinner = (Spinner)sender;
        string toast = string.Format("Selected item is {0}", spinner.GetItemAtPosition(e.Position));

        if (boolToast == true)
        {
            Toast.MakeText(this, toast, ToastLength.Long).Show();
        }
        boolToast = true;
    }