您的位置:首页 > 其它

Spinner简单使用

2015-07-07 17:50 260 查看
适配器:SpinnerUtil类:

public class SpinnerUtil{
private Spinner spinner;
private Context context;
private List<SinnerUtilVo> list = new ArrayList<SinnerUtilVo>();
public SpinnerUtil(Context context,Spinner spinner) {
this.context = context;
this.spinner = spinner;
}

public void load(){
ArrayAdapter<SinnerUtilVo> adapter = new ArrayAdapter<SinnerUtilVo>(context,android.R.layout.simple_spinner_dropdown_item,list);
this.spinner.setAdapter(adapter);
}

public String getValue(){
Object object = this.spinner.getSelectedItem();
SinnerUtilVo picksortitem = (SinnerUtilVo) object;
return picksortitem.getValue();
}

public void setKeyValue(String key,String value){
list.add(new SinnerUtilVo(key, value));
}
}


注:android.R.layout.simple_spinner_dropdown_item可更换样式

辅助类:SinnerUtilVo

public class SinnerUtilVo {
private String key;
private String value;

@Override
public String toString(){
return this.key;
}
public SinnerUtilVo(String key,String value){
this.key = key;
this.value = value;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}


简单使用:

private Spinner mattypeSpinner;

private SpinnerUtil spinnerUtil;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

try {

mattypeSpinner = (Spinner) findViewById(R.id.mattypeSpinner);
spinnerUtil = new SpinnerUtil(this,mattypeSpinner);
//spinnerUtil.setKeyValue("是否赠送物料", "");
spinnerUtil.setKeyValue("否", "0");
spinnerUtil.setKeyValue("是", "1");
spinnerUtil.load();
mattypeSpinner.setOnItemSelectedListener(new OnItemSelectedListenerImpl());

}
} catch (Exception e) {
// TODO: handle exception
}
}


注:OnItemSelectedListenerImpl()自定义(选择操作),例如:

private class OnItemSelectedListenerImpl implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view,int position, long id) {
TextView tv=(TextView)view;
tv.setTextSize(20.0f);
Object object = mattypeSpinner.getItemAtPosition(position);
SinnerUtilVo sinnerUtilVo = (SinnerUtilVo) object;
String prentFlag=sinnerUtilVo.getValue();
presentflag.setText(prentFlag);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}


设置下拉框初始默认值,可简单设置如下:

Spinnerd对象.setSelection(int index,boolean f);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: