微调没有得到选定的值
问题描述:
我有2个spinners设置为初始值。然后我希望用户选择新的值。然后我试图获得这些价值观。然而,getSelectedItem()
只返回初始值 - 它不保存,即使新选择的微调显示出来:微调没有得到选定的值
Spinner spinner1 = (Spinner) view.findViewById(R.id.lessonTypeSpinner);
Spinner weatherConditionS = (Spinner) view.findViewById(R.id.weatherConditionSpinner);
spinner1.setSelection(hmlessonType.get(lessonType));
weatherConditionS.setSelection(hmWeatherCondition.get(weatherCondition));
Button update = (Button) view.findViewById(R.id.updateButton);
final String lessonTypeCopy = spinner1.getSelectedItem().toString();
final String weatherConditionCopy = weatherConditionS.getSelectedItem().toString();
pref = this.getActivity().getSharedPreferences(this.PREF_FILENAME, 0);
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor edit = pref.edit();
edit.putString("lessonType", lessonTypeCopy);
edit.putString("weatherCondition", weatherConditionCopy);
edit.apply();
}
});
答
获取里面的onClick值()方法。
你应该这样改变它:
Spinner spinner1 = (Spinner) view.findViewById(R.id.lessonTypeSpinner);
Spinner weatherConditionS = (Spinner) view.findViewById(R.id.weatherConditionSpinner);
spinner1.setSelection(hmlessonType.get(lessonType));
weatherConditionS.setSelection(hmWeatherCondition.get(weatherCondition));
Button update = (Button) view.findViewById(R.id.updateButton);
pref = this.getActivity().getSharedPreferences(this.PREF_FILENAME, 0);
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String lessonTypeCopy = spinner1.getSelectedItem().toString();
final String weatherConditionCopy = weatherConditionS.getSelectedItem().toString();
SharedPreferences.Editor edit = pref.edit();
edit.putString("lessonType", lessonTypeCopy);
edit.putString("weatherCondition", weatherConditionCopy);
edit.apply();
}
});