这是我的代码。如果我单击“14”,则应在微调器中将默认值设置为14,如果我更改“20”或某些值如“16”,则应将其设置为微调器中的默认值。
所以选择的值必须显示在Spinner中。
Spinner font=new Spinner(con);
option= new String[] {"Select","14","16","18","20"};
ArrayAdapter<String> adapter= new ArrayAdapter<String>(con,android.R.layout.simple_spinner_dropdown_item,option);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
font.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,int position, long id) {
if(!(arg0).getSelectedItem().toString().trim().equalsIgnoreCase("Select"))
size=Float.parseFloat((option[(arg0).getSelectedItemPosition()]).trim());
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
font.setAdapter(adapter);
int i;
for( i=0;i<option.length;i++){
if(option[i].toString().equalsIgnoreCase("14")){
}
else {
font.setSelection(i);
}
}
答案 0 :(得分:0)
当您转到下一个屏幕并返回时,默认情况下会自动显示最后选择的值(如果此处不存在for循环代码)。如果您从微调器屏幕转到上一个屏幕并返回,则将再次创建微调器并再次设置适配器。所以最后选择的值无法设置。如果仍然是您的要求,则在选择时将值保存到共享首选项。然后在设置适配器后,如果已存在则获取值。在您的代码中,而不是使用&#34; 14&#34;检查相同的条件您使用共享首选项保存的值检查它,并在if循环中调用setSelection(i)