旋转器 XAMARIN.ANDROID

SPINNER XAMARIN.ANDROID

我正在寻找一个包含 key/value(如 DisplayMember/ValueMember 和 Winforms)的微调器示例。 im Usign Xmarin.Android in Visual Studio 2017/2015,我用它来填充,但它只包含 MembersValue

<string-array>
    <ítem>ITEM 1</ítem>
</string-array>

我正在寻找类似的东西:

<string-array>
<ítem value=1>ITEM 1</ítem>
</string-array>

我可以从这样的按钮控件点击方法中获取标签值:

private void btnButton(Object sender,EventArgs e)

{
   string strValue=spinner.SelectedItem.ToString();
}

实际结果:项目 1

预期结果:1

我正在尝试使用字典,如下所示:

var dict = new Dictionary<int, string>();
        dict.Add(1, "Tarjeta1");
        dict.Add(2, "tarjeta2");

然后在微调器中添加为资源:

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;

但是当我尝试获取值时,它显示:Tarjeta1 或 Tarjeta2 而不是 1 或 2

希望大家多多支持。

此致。

可以使用baseAdapter,看视频教程https://www.youtube.com/watch?v=4o5R4qvJXZM

或者如果您的微调项文本仅限于前缀或后缀词,您可以从中提取您想要的数值

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