Remplir le spinner directement dans la mise en page xml

Est-il possible de remplir les options d'un Spinner directement dans le xml de mise en page? Cette page suggère que je devrais utiliser un ArrayAdapter? Il semble gênant de ne pas pouvoir le faire …

  • Comment afficher l'aperçu de l'appareil photo sur un SurfaceView?
  • ListView avec Ajout et suppression de boutons dans chaque ligne dans Android
  • Vérifiez pour ResultCode dans BroadcastReceiver d'Android?
  • Comment trouver un élément dans la vue par les coordonnées x, y Android
  • Méthode d'appel d'erreur sur NPObject! Dans Android 2.2
  • Copiez plusieurs fichiers txt dans / system using Android.mk
  • 3 Solutions collect form web for “Remplir le spinner directement dans la mise en page xml”

    Je ne suis pas sûr de cela, mais je lui donne un coup de feu.

    Dans votre strings.xml définissez:

    <string-array name="array_name"> <item>Array Item One</item> <item>Array Item Two</item> <item>Array Item Three</item> </string-array> 

    Dans votre mise en page:

     <Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="true" android:entries="@array/array_name" /> 

    J'ai entendu cela parfois ne fonctionne pas sur le concepteur, mais se compose bien.

    Définissez ceci Dans votre fichier String.xml et le nom du tableau est comme vous le souhaitez, comme le poids

     <string-array name="Weight"> <item>Kg</item> <item>Gram</item> <item>Tons</item> </string-array> 

    Et ce code dans you layout.xml

     <Spinner android:id="@+id/fromspin" android:layout_width="fill_parent" android:layout_height="wrap_content" android:entries="@array/Weight" /> 

    Dans You java La géotechnie du fichier est utilisée dans le fragment si vous écrivez ce code dans l'activité, puis supprimez la gétactivité

     a = (Spinner) findViewById(R.id.fromspin); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this.getActivity(), R.array.weight, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); a.setAdapter(adapter); a.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { if (a.getSelectedItem().toString().trim().equals("Kilogram")) { if (!b.getText().toString().isEmpty()) { float value1 = Float.parseFloat(b.getText().toString()); float kg = value1; c.setText(Float.toString(kg)); float gram = value1 * 1000; d.setText(Float.toString(gram)); float carat = value1 * 5000; e.setText(Float.toString(carat)); float ton = value1 / 908; f.setText(Float.toString(ton)); } } public void onNothingSelected(AdapterView<?> parent) { // Another interface callback } }); // Inflate the layout for this fragment return v; } 

    En ce qui concerne le premier commentaire: si vous faites cela, vous recevrez une erreur (dans Android Studio). C'est en ce qui concerne l'absence de l'espace de noms Android. Si vous ne savez pas comment réparer cette erreur, vérifiez l'exemple ci-dessous. J'espère que cela t'aides!

    Exemple: avant:

     <string-array name="roomSize"> <item>Small(0-4)</item> <item>Medium(4-8)</item> <item>Large(9+)</item> </string-array> 

    Exemple – après:

     <string-array android:name="roomSize"> <item>Small(0-4)</item> <item>Medium(4-8)</item> <item>Large(9+)</item> </string-array> 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.