Comment ajouter des éléments à un spinner ?
Réponses
Trop de publicités?
EASI
Points
1827
Ce code lit essentiellement un objet de type tableau JSON et convertit chaque ligne en une option dans le spinner qui est passé en paramètre :
public ArrayAdapter<String> getArrayAdapterFromArrayListForSpinner(ArrayList<JSONObject> aArrayList, String aField)
{
ArrayAdapter<String> aArrayAdapter = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_item);
aArrayAdapter.setDropDownViewResource(R.layout.multiline_spinner_dropdown_item); //android.R.layout.simple_spinner_dropdown_item
try {
for (int i = 0; i < aArrayList.size(); i++)
{
aArrayAdapter.add(aArrayList.get(i).getString(aField));
}
} catch (JSONException e) {
e.printStackTrace();
ShowMessage("Error while reading the JSON list");
}
return aArrayAdapter;
}
Hossein
Points
88
Ajoutez un tourniquet à la disposition XML, puis ajoutez ce code au fichier Java :
Spinner spinner;
spinner = (Spinner) findViewById(R.id.spinner1) ;
java.util.ArrayList<String> strings = new java.util.ArrayList<>();
strings.add("Mobile") ;
strings.add("Home");
strings.add("Work");
SpinnerAdapter spinnerAdapter = new SpinnerAdapter(AddMember.this, R.layout.support_simple_spinner_dropdown_item, strings);
spinner.setAdapter(spinnerAdapter);
Pankaj Malviya
Points
109
sajad abbasi
Points
472
Un moyen plus simple est d'utiliser la bibliothèque de rotation des matériaux : https://github.com/jaredrummler/MaterialSpinner
à ajouter à votre projet :
compile 'com.jaredrummler:material-spinner:1.2.4'
et utiliser comme ceci :
<com.jaredrummler.materialspinner.MaterialSpinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
et le code java qui vous permet d'ajouter des éléments en java si facilement :
MaterialSpinner spinner = (MaterialSpinner) findViewById(R.id.spinner);
spinner.setItems("item 1", "item 2", "item 3", "item 4", "item 5");
spinner.setOnItemSelectedListener(new MaterialSpinner.OnItemSelectedListener<String>() {
@Override public void onItemSelected(MaterialSpinner view, int position, long id, String item) {
Snackbar.make(view, "Clicked " + item, Snackbar.LENGTH_LONG).show();
}
});
Zon
Points
518