Monday, January 28, 2013

Combo box / Drop down list box in Android


As usual doing something simple in Android is frustrating - this time: a simple Combo (or DropDownList). The little and important tweak - calling "setDropDownViewResource" to set the style of the items in the dialog box.

XML:
<spinner id="@+id/spinner" layout_width="wrap_content" android:layout_height="wrap_content" />

Code to add the data:
  1. Spinner spinner = (Spinner)this.findViewById(R.id.spinner);  
  2. ArrayAdapter<String> adapter = new ArrayAdapter<String>(  
  3.         this,  
  4.         android.R.layout.simple_spinner_item,  
  5.         new String[] { "1""2""3" });  
  6. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
  7. spinner.setAdapter(adapter);  


A common task is to populate a spinner using a string array defined in a resource file. Here's a function which do just that:
  1. public static void populateSpinnerWithArray(Spinner spinner, int stringArrayResId) {  
  2.     ArrayAdapter<String> adapter = new ArrayAdapter<String>(  
  3.             spinner.getContext(),    
  4.             android.R.layout.simple_spinner_item,  
  5.             spinner.getContext().getResources().getStringArray(stringArrayResId));    
  6.     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);    
  7.     spinner.setAdapter(adapter);    

No comments:

Post a Comment