2014-09-20 6 views
0

Je suis nouveau à Xamarin et nouveau développement Android (c'est ma première semaine venant d'un fond de fenêtres). J'ai un adaptateur que j'essaye d'ajouter à un listview mais je ne suis pas sûr où placer mon code. J'ai plusieurs fragments gonflés à partir d'un menu déroulant. J'ai essayé de placer le code dans le fragment lui-même, mais cela a causé des erreurs de compilation, j'ai également tenté de placer le code dans l'activité principale. Aucun ne semblait fonctionner correctement.Je ne sais pas où placer le fragment code d'activité

C'est le segment de code

var items = new String[] { "test", "test2" }; 
     ArrayAdapter<string> adapter = new ArrayAdapter<string> (this, Android.Resource.Layout.SimpleListItem1, items); 
     var listViewMeds = FindViewById<ListView> (Resource.Id.medicationListView); 
     listViewMeds.Adapter = adapter; 
+0

Où avez-vous actuellement ce code? Quelle méthode dans l'activité/fragment avez-vous mis sous? – matthewrdev

Répondre

1

Vous ferez cela dans le OnCreateView à l'intérieur du fragment.

par exemple

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
      var view = inflater.Inflate(Resource.Layout.MyLayoutId, container, false); 

      ListAdapter = new MyAdapter(Activity, Items); 
      return view; 
} 

Notez que votre fragment devra être un ListFragment pour pouvoir accéder à la propriété ListAdapter.

Alternativement, si vous n'avez pas de ListFragment vous pouvez trouver votre vue de liste dans le OnCreateView, par exemple.

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
    { 
     var view = inflater.Inflate(Resource.Layout.MyLayoutId, container, false); 

     var myListView = view.FindViewById<ListView>(Resource.Id.MyListViewId); 
     myListView.ListAdapter = new MyAdapter(Activity, Items); 
    } 
Questions connexes