Автоматическое заполнение блесны .Net Monodroid - PullRequest
0 голосов
/ 07 сентября 2011

Я использую .Net и Monodroid для разработки приложений для Android, однако мне кажется, что я столкнулся со стеной, когда дело доходит до заполнения Spinner во время выполнения, поскольку у меня нет доступа к [Spinner Object] .SetAdapter ( ...) метод. Я был в обоих

developer.android.com / ресурсы / учебники / просмотров / привет-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 ]

3 голосов
/ 07 сентября 2011

В Mono для Android во многих случаях, когда Java будет иметь методы getXXXX / setXXXX, преобразуются в свойства с именем XXXX, чтобы быть более дружественными к .NET. В этом случае Spinner.setAdapter () в Java становится Spinner.Adapter в Mono для Android:

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

Xamarin также предлагает учебник Spinner здесь , который может помочь вам начать работу.

0 голосов
/ 07 сентября 2011

Решено - есть свойство Adapter , которое можно использовать для доступа к адаптеру.

Также оказывается, что вы должны сначала проверить, является ли адаптер пустым - вы не можете прочитатьпустой объект:)

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

единственная проблема заключается в том, что он не обновляется автоматически, а метод invalidate (...) не вызывает его перерисовку с новыми элементами ...

...