Spinner控件简单应用

来源:互联网 发布:java erp源码 编辑:程序博客网 时间:2024/05/17 23:07

一、    Activity部份代码

// Generate spinner entries using XMLarrays

int visiblelimitValuesId =R.array.account_settings_down_count_values;

int visiblelimitEntriesId =R.array.account_settings_down_count_entries;

CharSequence[] visiblelimitValues =getResources().getTextArray(visiblelimitValuesId);

CharSequence[] visiblelimitEntries =getResources().getTextArray(visiblelimitEntriesId);

 

// Now create the array used by theSpinner

SpinnerOption[] checkVisiblelimits =new SpinnerOption[visiblelimitEntries.length];

for (int i = 0; i <visiblelimitEntries.length; i++) {

       checkVisiblelimits[i] = new SpinnerOption(

                   Integer.valueOf(visiblelimitValues[i].toString()),visiblelimitEntries[i].toString());

}

 

ArrayAdapter<SpinnerOption>checkVisiblelimitsAdapter = new ArrayAdapter<SpinnerOption(this,android.R.layout.simple_spinner_item, checkVisiblelimits);

 checkVisiblelimitsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

downloadCount.setAdapter(checkVisiblelimitsAdapter);

       

SpinnerOption.setSpinnerOptionValue(downloadCount,  VISIBLE_LIMIT_DEFAULT);

二、          SpinnerOption代码

public class SpinnerOption {

   public final Object value;

 

   public final String label;

 

   public static voidsetSpinnerOptionValue(

Spinner spinner, Object value){

       for (int i = 0, count = spinner.getCount(); i< count; i++) {

           SpinnerOption so =(SpinnerOption)spinner.getItemAtPosition(i);

           if (so.value.equals(value)) {

               spinner.setSelection(i, true);

               return;

           }

       }

   }

 

   public SpinnerOption(Object value, Stringlabel) {

       this.value = value;

       this.label = label;

   }

 

   @Override

   public String toString() {

       return label;

}

三、    如何获取Spinner选中项值

int visibelLimit =(Integer)((SpinnerOption)downloadCount.getSelectedItem()).value;

 

四、

<PreferenceCategoryandroid:title="@string/account_settings_download_title">

   

      <ListPreference

           android:layout="?android:attr/preferenceLayoutChild"

           android:dependency="account_down"

           android:key="account_settings_down"

           android:defaultValue="never"

           android:title="@string/account_settings_download_title"

           android:entries="@array/account_settings_down_entries"

           android:entryValues="@array/account_settings_down_values"

        android:dialogTitle="@string/account_settings_download_title"

/>

 

  </PreferenceCategory>

小结:

  Spinner控件对比PreferenceActivity学习,entries entryValues 相对应

0 0