Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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# XamarinAndroid:如何创建组合框_C#_Xamarin.android - Fatal编程技术网

C# XamarinAndroid:如何创建组合框

C# XamarinAndroid:如何创建组合框,c#,xamarin.android,C#,Xamarin.android,大家好,我叫谷口 我正在尝试在我的应用程序上创建一个创建表单,我希望插入一个组合框。我看到的示例是下拉菜单,我想在单击打开一个带有一些选项的窗口时插入一个字段,我单击的选项填充了该字段 例如:我有一个名为country的字段,当我单击该字段时,会打开一个窗口,其中有一些国家供我选择。我选择的国家将填补这一领域 如下图所示: 我找到了一个文档,但它是在java上,我需要在C#上完成。 我已经将示例代码从java翻译成c#,并且工作正常。主要代码如下: activity_main.axml

大家好,我叫谷口

我正在尝试在我的应用程序上创建一个创建表单,我希望插入一个组合框。我看到的示例是下拉菜单,我想在单击打开一个带有一些选项的窗口时插入一个字段,我单击的选项填充了该字段

例如:我有一个名为country的字段,当我单击该字段时,会打开一个窗口,其中有一些国家供我选择。我选择的国家将填补这一领域

如下图所示:

我找到了一个文档,但它是在java上,我需要在C#上完成。

我已经将示例代码从java翻译成c#,并且工作正常。主要代码如下:

activity_main.axml

 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Spinner  
  android:id="@+id/spinner"  
  android:layout_width="fill_parent"  
  android:layout_height="wrap_content"  
  android:spinnerMode="dialog"
  android:prompt="@string/country_prompt" />
<Spinner
    android:layout_marginTop="15dp"
    android:id="@+id/spinner2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

<Button
    android:id="@+id/btnSubmit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp"
    android:text="Submit" />

MainActivity.cs

public class MainActivity : AppCompatActivity
{
    private Spinner spinner1, spinner2;
    private Button btnSubmit;

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.activity_main);

        addItemsOnSpinner1();

        addItemsOnSpinner2();

        addListenerOnButton();

    }

    public void addItemsOnSpinner1()
    {
        spinner1 = FindViewById<Spinner>(Resource.Id.spinner);
        spinner1.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(spinner_ItemSelected);
        var adapter = ArrayAdapter.CreateFromResource(this, Resource.Array.country_array, Android.Resource.Layout.SimpleSpinnerItem);
        adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
        spinner1.Adapter = adapter;
    }

    public void addItemsOnSpinner2()
    {
        spinner2 = (Spinner)FindViewById(Resource.Id.spinner2);
        List<String> list = new List<String>();
        list.Add("list 1");
        list.Add("list 2");
        list.Add("list 3");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
            Android.Resource.Layout.SimpleSpinnerItem, list);  //simple_spinner_item
        dataAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);//simple_spinner_dropdown_item

        spinner2.Adapter = dataAdapter;
    }

    private void spinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
    {
        Spinner spinner = (Spinner)sender;
        string toast = string.Format("Selected country is {0}", spinner.GetItemAtPosition(e.Position));
        Toast.MakeText(this, toast, ToastLength.Long).Show();
    }

    private void addListenerOnButton()
    {
        btnSubmit = (Button)FindViewById(Resource.Id.btnSubmit);
        btnSubmit.Click += BtnSubmit_Click;

    }

    private void BtnSubmit_Click(object sender, EventArgs e)
    {
        Toast.MakeText(this,
            "OnClickListener : " +
            "\nSpinner 1 : " + (spinner1.SelectedItem) +
            "\nSpinner 2 : " + (spinner2.SelectedItem),
        ToastLength.Short).Show();
    }
}
public类main活动:AppCompatActivity
{
专用喷丝头1、喷丝头2;
私人按钮btnSubmit;
创建时受保护的覆盖无效(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
//从“主”布局资源设置视图
SetContentView(Resource.Layout.activity_main);
addItemsOnSpinner1();
addItemsOnSpinner2();
addListenerOnButton();
}
public void addItemsOnSpinner1()
{
spinner1=FindViewById(Resource.Id.spinner);
spinner1.ItemSelected+=新事件处理程序(spinner\u ItemSelected);
var adapter=ArrayAdapter.CreateFromResource(这是Resource.Array.country_数组,Android.Resource.Layout.SimpleSpinnerItem);
SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
喷丝头1.适配器=适配器;
}
公共无效附加项Spinner2()
{
spinner2=(Spinner)FindViewById(Resource.Id.spinner2);
列表=新列表();
列表。添加(“列表1”);
列表。添加(“列表2”);
列表。添加(“列表3”);
ArrayAdapter dataAdapter=新的ArrayAdapter(此,
Android.Resource.Layout.SimpleSpinnerItem,列表);//简单微调器项目
dataAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinerDropDownItem);//简单微调器
喷丝头2.适配器=数据适配器;
}
私有无效微调器\u选定项(对象发送者,AdapterView.ItemSelectedEventArgs e)
{
微调器微调器=(微调器)发送器;
string toast=string.Format(“所选国家为{0}”,spinner.GetItemAtPosition(e.Position));
Toast.MakeText(this,Toast,ToastLength.Long).Show();
}
私有void addListenerOnButton()
{
btnSubmit=(按钮)findviewbyd(Resource.Id.btnSubmit);
btnSubmit.Click+=btnSubmit\u Click;
}
私有void BtnSubmit\u单击(对象发送者,事件参数e)
{
Toast.MakeText(这个,
“OnClick侦听器:”+
“\n内部1:”+(喷丝头1.SelectedItem)+
“\n内部2:”+(喷丝头2.SelectedItem),
ToastLength.Short)。Show();
}
}
strings.xml

<string name="country_prompt">Choose a country</string>
<string-array name="country_array">
  <item>Malaysia</item>
  <item>United States</item>
  <item>Indonesia</item>
  <item>France</item>
  <item>Italy</item>
  <item>Singapore</item>
  <item>New Zealand</item>
  <item>India</item>
</string-array>
选择一个国家
马来西亚
美国
印度尼西亚
法国
意大利
新加坡
新西兰
印度

您应该发布您尝试过的代码和面临的问题。@非常感谢,很抱歉回复时间太长,我不得不创建另一个帐户,因为我阻止了在此帐户中提出问题