Android 如何将项目添加到微调器?

Android 如何将项目添加到微调器?,android,xamarin,xamarin.android,Android,Xamarin,Xamarin.android,这就是我现在正在做的 Spinner AddressTypeSpinner = FindViewById<Spinner>(Resource.Id.spinner1); ArrayAdapter spinnerArrayAdapter = new ArrayAdapter (this, Android.Resource.Layout.SimpleSpinnerItem, new ProfileAddressTypes[] { for (var i = 0; i &l

这就是我现在正在做的

Spinner AddressTypeSpinner = FindViewById<Spinner>(Resource.Id.spinner1);


ArrayAdapter spinnerArrayAdapter = new ArrayAdapter (this, Android.Resource.Layout.SimpleSpinnerItem, new ProfileAddressTypes[] 
{ 

    for (var i = 0; i < AddressObject.Count; i++) 
    {
        new ProfileAddressTypes (AddressObject[i].id, AddressObject[i].name); 
    }
});

AddressTypeSpinner.Adapter = spinnerArrayAdapter;
这不起作用,它说不能放在阵列适配器内

我不知道怎么做,有人有什么想法吗?

试试这个:

ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item,mArrayListspinner);
        spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        AddressTypeSpinner.setAdapter(spinnerArrayAdapter);
这里mArrayListspinner是您的字符串数组

ProfileAddressTypes[] mList = new ProfileAddressTypes[size];

for (int i = 0; i < size; i++) {
   mList[i]= new ProfileAddressTypes (AddressObject[i].id, AddressObject[i].name);        
}

ArrayAdapter spinnerArrayAdapter = new ArrayAdapter (this, R.id_from_your_layout_of_that_activity_or_fragment, mList);  
yourSpinner.setAdapter(spinnerArrayAdapter ); 
希望有帮助:

您必须传入ArrayAdapter构造函数,而不是数组,而是实现接口IList的对象,例如List,此外,为了获得正确的输出,您应该重写方法ToString

ArrayAdapter spinnerArrayAdapter = new ArrayAdapter (this, Android.Resource.Layout.SimpleSpinnerItem, GetAdapterData());

public ProfileAddressTypes[] GetAdapterData()
{
    var adapterData = new ProfileAddressTypes[AddressObject.Count];

    for (var i = 0; i < AddressObject.Count; i++) 
    {
        adapterData[i] = new ProfileAddressTypes (AddressObject[i].id, AddressObject[i].name); 
    }
    return adapterData;
}
这是我的密码:

Spinner modelSelect = FindViewById<Spinner>(Resource.Id.modelSelect);
List<Marks> models = (from i in DBHelper.GetInstance().Table<Marks>() where i.removed == false orderby i.name ascending select i).ToList();
modelSelect.Adapter = new ArrayAdapter<Marks>(this, Android.Resource.Layout.SimpleSpinnerItem, models);
Spinner modelSelect = FindViewById<Spinner>(Resource.Id.modelSelect);
List<Marks> models = (from i in DBHelper.GetInstance().Table<Marks>() where i.removed == false orderby i.name ascending select i).ToList();
modelSelect.Adapter = new ArrayAdapter<Marks>(this, Android.Resource.Layout.SimpleSpinnerItem, models);
public override string ToString()
{
    return name;
}