如何将微调器中的选定项设置为Android中的默认值?

时间:2012-10-08 10:59:42

标签: android spinner

这是我的代码。如果我单击“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);
        }

     }

1 个答案:

答案 0 :(得分:0)

当您转到下一个屏幕并返回时,默认情况下会自动显示最后选择的值(如果此处不存在for循环代码)。如果您从微调器屏幕转到上一个屏幕并返回,则将再次创建微调器并再次设置适配器。所以最后选择的值无法设置。如果仍然是您的要求,则在选择时将值保存到共享首选项。然后在设置适配器后,如果已存在则获取值。在您的代码中,而不是使用&#34; 14&#34;检查相同的条件您使用共享首选项保存的值检查它,并在if循环中调用setSelection(i)