.Net Monodroid微调器自动填充

时间:2011-09-07 05:43:35

标签: forms spinner xamarin.android

我正在使用.Net和Monodroid来开发Android应用程序,但是当我在运行时填充Spinner时,我似乎遇到了障碍,因为我无法访问[Spin​​ner Object] .SetAdapter( ...) 方法。我去过两地

developer.android.com/resources/tutorials/views/hello-spinner.html 和 android.xamarin.com/Tutorials 以及 stackoverflow.com/questions/3958866/how-to-change-the-contents-of-spinner-on-run-time-in-android

并且一切都依赖于这种方法。这是未注册版本的限制吗?因为他们在这里没有说明功能限制android.xamarin.com/DownloadTrial

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

在Mono for Android中,许多Java将getXXXX / setXXXX方法转换为名为XXXX的属性,以便更友好。在这种情况下,Java中的Spinner.setAdapter()在Mono for Android中变为Spinner.Adapter

Spinner spinner = FindViewById<Spinner> (Resource.Id.spinner);  
spinner.Adapter = new ArrayAdapter...

Xamarin还有一个Spinner教程here可以帮助你开始。

答案 1 :(得分:0)

解决了问题 - 有一个适用属性的适配器可用于访问适配器。

事实证明你必须首先检查适配器是否为空 - 你无法读取空对象:)

if(_itemlist.Adapter == null) {     adapter = new ArrayAdapter(this,Android.Resource.Layout.SimpleSpinnerItem,items); }

唯一的问题是它不会自动刷新,而且invalidate(...)方法不会导致它重新绘制新项...