C# XamarinAndroid:如何创建组合框
大家好,我叫谷口 我正在尝试在我的应用程序上创建一个创建表单,我希望插入一个组合框。我看到的示例是下拉菜单,我想在单击打开一个带有一些选项的窗口时插入一个字段,我单击的选项填充了该字段 例如:我有一个名为country的字段,当我单击该字段时,会打开一个窗口,其中有一些国家供我选择。我选择的国家将填补这一领域 如下图所示: 我找到了一个文档,但它是在java上,我需要在C#上完成。C# XamarinAndroid:如何创建组合框,c#,xamarin.android,C#,Xamarin.android,大家好,我叫谷口 我正在尝试在我的应用程序上创建一个创建表单,我希望插入一个组合框。我看到的示例是下拉菜单,我想在单击打开一个带有一些选项的窗口时插入一个字段,我单击的选项填充了该字段 例如:我有一个名为country的字段,当我单击该字段时,会打开一个窗口,其中有一些国家供我选择。我选择的国家将填补这一领域 如下图所示: 我找到了一个文档,但它是在java上,我需要在C#上完成。 我已经将示例代码从java翻译成c#,并且工作正常。主要代码如下: activity_main.axml
我已经将示例代码从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>
选择一个国家
马来西亚
美国
印度尼西亚
法国
意大利
新加坡
新西兰
印度
您应该发布您尝试过的代码和面临的问题。@非常感谢,很抱歉回复时间太长,我不得不创建另一个帐户,因为我阻止了在此帐户中提出问题