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{
//处理你的选择事件
........
}
}