C# SPINNER XAMARIN.ANDROID

C# SPINNER XAMARIN.ANDROID,c#,visual-studio,xamarin,xamarin.android,android-spinner,C#,Visual Studio,Xamarin,Xamarin.android,Android Spinner,我正在寻找一个spinnerexample,其中包括像DisplayMember/ValueMember这样的键/值,比如Winforms。 我在VisualStudio2017/2015中使用了Xmarin.Android,我正在使用它来填充,但它只包含MembersValue <string-array> <ítem>ITEM 1</ítem> </string-array> 实际结果:项目1 预期结果:1 我试着用一本字典,如下所示

我正在寻找一个spinnerexample,其中包括像DisplayMember/ValueMember这样的键/值,比如Winforms。 我在VisualStudio2017/2015中使用了Xmarin.Android,我正在使用它来填充,但它只包含MembersValue

<string-array>
    <ítem>ITEM 1</ítem>
</string-array>
实际结果:项目1

预期结果:1

我试着用一本字典,如下所示:

var dict = new Dictionary<int, string>();
        dict.Add(1, "Tarjeta1");
        dict.Add(2, "tarjeta2");
var dict=newdictionary();
添加第(1)款,“塔吉塔1”);
添加第(2)款,“塔吉塔2”);
然后在微调器中添加为资源:

spinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(Spinner1_ItemSelected);    
ArrayAdapter adapter = new ArrayAdapter(this,Android.Resource.Layout.SimpleSpinnerItem,dict.Values.ToArray());
adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
spinner.Adapter = adapter;
spinner.ItemSelected+=neweventhandler(Spinner1\u ItemSelected);
ArrayAdapter=新的ArrayAdapter(这个,Android.Resource.Layout.SimpleSpinnerItem,dict.Values.ToArray());
SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
spinner.Adapter=适配器;
但是当我尝试获取值时,它显示:Tarjeta1或Tarjeta2,而不是1或2

我希望任何人都能支持我


致以最诚挚的问候。

您可以使用baseAdapter观看视频教程

或者,如果微调器项文本限制为前缀或后缀词,则可以从中提取所需的数值

private void btnButton(Object sender,EventArgs e)
{
   int intValue = Convert.ToInt32(spinner.SelectedItem.ToString().Replace("Tarjeta", string.Empty).Trim());
   string strValue = intValue.ToString();
}

你好,穆罕默德,非常感谢!我在度假,正因为如此,我不能很快回答你。
spinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(Spinner1_ItemSelected);    
ArrayAdapter adapter = new ArrayAdapter(this,Android.Resource.Layout.SimpleSpinnerItem,dict.Values.ToArray());
adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
spinner.Adapter = adapter;
private void btnButton(Object sender,EventArgs e)
{
   int intValue = Convert.ToInt32(spinner.SelectedItem.ToString().Replace("Tarjeta", string.Empty).Trim());
   string strValue = intValue.ToString();
}