2011-09-07 53 views
0

我使用.Net和MonoDroid的開發Android應用程序,但我似乎碰了壁,當談到在運行時微調灌裝,因爲我沒有訪問[Spin​​ner Object] .SetAdapter(...)方法。我一直在這兩個淨MonoDroid的微調自動填充

developer.android.com/resources/tutorials/views/hello-spinner.html 和 android.xamarin.com/Tutorials 以及 stackoverflow.com/questions/3958866/how -to-變化的 - 內容 - 的微調上運行時功能於Android的

,一切都依賴於這種方法。這是未註冊版本的限制嗎?因爲他們在這裏沒有提及功能限制android.xamarin.com/DownloadTrial

任何幫助將不勝感激。

回答

3

在Mono for Android中,很多情況下Java將getXXXX/setXXXX方法轉換爲名爲XXXX的屬性,以便更友善地使用.NET。在這種情況下,Spinner.setAdapter()在Java中變得Spinner.Adapter單中爲Android:

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

Xamarin還具有可here一個微調的教程,可以幫助你走了。

+0

謝謝 - 反正是有允許用戶不斷添加項目並刷新微調控件? –

+0

對不起 - 我是一個白癡 - 需要設置適配器!謝謝! –

+0

您可以調用適配器上的NotifyDataSetChanged(),告訴它底層數據已被修改。 –

0

解決它 - 有一個適配器屬性可用於訪問適配器。

而且事實證明,你必須檢查是否適配器是空第一 - 你可以不讀空對象:)

如果(_itemlist.Adapter == NULL){ 適配器 =新ArrayAdapter(這一點,Android的.Resource.Layout.SimpleSpinnerItem,items); }

唯一的問題是,它不會自動刷新和無效(...)方法不會導致它與新項目重繪...