2011-09-07 3 views
0

J'utilise .Net et Monodroid pour développer des applications Android, mais il me semble avoir frappé un mur quand il s'agit de remplir un Spinner à l'exécution, car je n'ai pas accès à la [Spinner Object] Méthode .SetAdapter (...). Je suis à la fois.Net Monodroid spinner auto-fill

developer.android.com/resources/tutorials/views/hello-spinner.html et android.xamarin.com/Tutorials ainsi que stackoverflow.com/questions/3958866/how -to-changer-le-contenu-de-spinner-sur-run-temps-en-android

et tout repose sur cette méthode. Est-ce une limitation de la version non enregistrée? Parce qu'ils ne disent rien sur les limites de fonctionnalités ici android.xamarin.com/DownloadTrial

Toute aide sera appréciée.

Répondre

3

En mode Mono pour Android, dans de nombreux cas, les méthodes getXXXX/setXXXX de Java seront traduites en propriétés nommées XXXX, afin d'être plus compatibles .NET. Dans ce cas, Spinner.setAdapter() en Java devient Spinner.Adapter en Mono pour Android:

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

Xamarin a aussi un tutoriel disponible Spinner here qui pourraient vous aider à aller.

+0

Merci - est de toute façon à permettre à l'utilisateur ajouter continuellement des articles et rafraîchir le contrôle de spinner? –

+0

Désolé - je suis un idiot - nécessaire pour définir l'adaptateur !!! Merci! –

+0

Vous pouvez appeler NotifyDataSetChanged() sur l'adaptateur pour lui indiquer que les données sous-jacentes ont été modifiées. –

0

Résolu - il existe une propriété de l'adaptateur qui peut être utilisée pour accéder à l'adaptateur.

En outre, il s'avère que vous devez vérifier si l'adaptateur est nulle première - vous ne pouvez pas lire un objet nul :)

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

le seul problème est qu'il ne rafraîchit pas automatiquement et le invalidate (...) méthode ne provoque pas à redessiner les nouveaux éléments ...