在我的应用程序中我正在使用Spinner,其中包含1到60个项目,用户必须从中选择其中任何一个。我的问题是当用户再次调用包含微调器的Activity时,用户可以看到他之前选择的项目为微调器的默认值。 我试着使用spineer.setselection(),但我无法得到。 所以,如果有人对此有任何理想,那么请给出一些提示来解决我的问题。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewGroup viewgroup = (ViewGroup) findViewById(R.id.myprofilelinear);
ViewGroup.inflate(this, R.layout.spinner,
viewgroup);
LoadUI();
}
public void LoadUI()
{
imgtoggle = (ImageView) findViewById(R.id.btntoggle);
imgtoggle.setOnClickListener(this);
String param=JsonDataProcessor.MYPROFILELIST.get(0).getIsTracking();
if(param.equalsIgnoreCase("True"))
{
imgtoggle.setImageResource(R.drawable.on_button);
}
else
{
imgtoggle.setImageResource(R.drawable.off_button);
}
btnsave = (Button)findViewById(R.id.btnSavechanges);
btnsave.setOnClickListener(this);
String[] s = new String[60];
int i;
for (i = 0; i < 60; i++) {
s[i] = Integer.toString(i+1);
}
spin = (Spinner) findViewById(R.id.TimeSpinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(TimeSpin.this,
android.R.layout.simple_spinner_item, s);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setAdapter(adapter);
}
答案 0 :(得分:8)
使用
spin.setSelection(adapter.getPosition(previously_saved_value));
可以使用共享首选项或通过创建静态变量来获取prior_saved_value,并将其值设置为用户先前选择的值。
答案 1 :(得分:1)
您应该为此点燃OnItemselectedListener并在Spinner中设置所选值
检查此代码:
boolean flag_default_country=false;
spin_country.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
for (int i = 0; i < s.length; i++) {
if (flag_default_country == false) {
if (s[i].toString().equalsIgnoreCase("US")) {
spin_country.setSelection(i);
flag_default_country = true;
}
}
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
spin_country是Spinner Object
首先将flag_default_country初始化为false,然后检查User选择的存储在Some值中的String值。如果第i个位置的Array值等于用户选择的值,它将在Spinner中设置i的值。
要保存用户选择的值,您可以使用共享首选项。
点击此链接查看Shared Preference。
如果您发现任何困难,请告诉我。