【发布时间】:2016-06-27 11:00:18
【问题描述】:
我有一个包含国家列表的微调器。页面加载如下
用户从下拉菜单中选择一个国家。假设我们选择阿尔及利亚
选择阿尔及利亚后,下拉菜单将关闭,但所选国家/地区仍显示为未知
接下来,当我选择另一个国家时,只会显示之前的国家阿尔及利亚。不是新选择的国家/地区。
我的代码
public class SpinnerActivity : Activity
{
private ArrayAdapter adapter;
private Spinner spinner;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "Main" layout resource
SetContentView(Resource.Layout.SpinnerControl);
spinner = FindViewById<Spinner>(Resource.Id.spinner);
spinner.ItemSelected += new EventHandler<AdapterView.ItemSelectedEventArgs>(spinner_ItemSelected);
adapter = ArrayAdapter.CreateFromResource(
this, Resource.Array.countries_array, Android.Resource.Layout.SimpleSpinnerItem);
adapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
adapter.NotifyDataSetChanged();
spinner.Adapter = adapter;
spinner.SetSelection(GameSettings.ISettings.CountrySetting);
}
private void spinner_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e)
{
Spinner spinner = (Spinner)sender;
spinner.SetSelection(adapter.GetPosition(e.Position));
Console.WriteLine("Setting{0}", GameSettings.ISettings.CountrySetting);
if (e.Position != GameSettings.ISettings.CountrySetting)
{
GameSettings.ISettings.CountrySetting = e.Position;
Options.countryText.ChangeText("Country: " + System.Environment.NewLine + ScoreHelper.GetCountry(GameSettings.ISettings.CountrySetting));
ScoreBoards.Board.IsInfoUpdated = true;
}
}
}
那么,当下拉菜单关闭时,如何立即使用所选项目更新微调器?
【问题讨论】:
标签: c# android xamarin xamarin.android android-spinner