天天看點

android Spinner 使用心得

1、設定Spinner的 顯示樣式和下拉樣式

如下可分别在 R.layout.spinner_item布局和R.layout.spinner_item_down布局中分别自定義顯示樣式和下拉樣式。注:在顯示樣式和下拉樣式中必須包含相同id 的TextView來顯示文本内容

List<String> strlist = new ArrayList<>();
ArrayAdapter<String> myAdapter = new ArrayAdapter<>(this,R.layout.spinner_item,R.id.spinner_text,strlist);
myAdapter.setDropDownViewResource(R.layout.spinner_item_down);
spinner.setOnItemSelectedListener(this);
spinner.setAdapter(myAdapter);
           

2、防止 OnItemSelectedListener事件預設執行一次

    網上查詢到的方法:在注冊監聽事件之前 設定spinner.setSelection(0,true)或者spinner.setSelection(-1,true);

    但是嘗試過後發現不一定有用,任然會預設執行一次;

    是以我使用的方法是:

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    /**
     * 定義isFrist 變量來判斷是否第一次執行
    */
    if(isFrist){
         isFrist=false;
    }else{
       //處理你的選擇事件
       ........
    }
}