我想在string
而不是integer
中显示微调器的值。现在它显示的是整数,如' 0',' 1'。
设置活动:
public class Setting extends Activity {
bloodtype = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,getResources().getStringArray(R.array.blood_groups_arrays));
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
bloodtype.setAdapter(adapter2);
bloodtype.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
/**
* Called when a new item is selected (in the Spinner)
*/
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
sharedpreferences.edit().putString(BloodType, parent.getItemAtPosition(position).toString()).commit();
}
public void onNothingSelected(AdapterView<?> parent) {
// Do nothing.
}
});
if(sharedpreferences.contains(BloodType)) {
bloodtype.setSelection(sharedpreferences.getString(BloodType, "DEFAULT"));
}
}
在主要活动中调用其值:
if(sharedpreferences.contains(Setting.BloodType)) {
show.setText(""+sharedpreferences.getString(Setting.BloodType, "DEFAULT"));
}
答案 0 :(得分:1)
为了存储您在spinner
中填充SharedPreferences
的数组值,请使用onItemSelected()
方法中的以下行:
sharedpreferences.edit().putString(BloodType, parent.getItemAtPosition(position).toString()).commit();
注意:BloodType
必须属于String
类型,因为它在key
key-value
对中扮演SharedPreferences
的角色1}}。
答案 1 :(得分:0)
从我的工作项目中获取它应该有效:
adapterSpinner = new ArrayAdapter<String>(yourContenxt,
android.R.layout.simple_list_item_1, yourDataSource);
spinnerProfileType.setAdapter(adapterSpinner);
当您使用字符串数组时,您也可以使用:
在xml中设置微调器项android:entries =“@ array / your_string_entry”