我对android非常陌生,但无法保存我的活动状态,特别是我的纺纱者,因此他们保留了自己的价值。在活动之间保存纺纱者的状态
我已经尝试了savedinstancestate和首选项,我仍然可以不工作,只是想知道如果有人可以看看我的代码,看看我出错了。
public class YearOneActivity extends AppCompatActivity {
Button ButtonSubmit;
Spinner SpinnerGradesUnitOne, SpinnerGradesUnitTwo, SpinnerGradesUnitThree, SpinnerGradesUnitSix, SpinnerGradesUnitNine, SpinnerGradesUnitTwentySix, SpinnerGradesUnitEighteen, SpinnerGradesUnitTwentyEight, SpinnerGradesUnitFortyThree;
int spinnerUnit1;
public void SubmitMainActivity(){
ButtonSubmit = (Button)findViewById(R.id.button_submit);
ButtonSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent SubmitMainActivity = new Intent(YearOneActivity.this, MainActivity.class);
startActivity(SubmitMainActivity);
}
});
}
public void SpinnerGrades(){
SpinnerGradesUnitOne = (Spinner) findViewById(R.id.spinner_grades_unit_one);
SpinnerGradesUnitTwo = (Spinner) findViewById(R.id.spinner_grades_unit_two);
SpinnerGradesUnitThree = (Spinner) findViewById(R.id.spinner_grades_unit_three);
SpinnerGradesUnitSix = (Spinner) findViewById(R.id.spinner_grades_unit_six);
SpinnerGradesUnitNine = (Spinner) findViewById(R.id.spinner_grades_unit_nine);
SpinnerGradesUnitTwentySix = (Spinner) findViewById(R.id.spinner_grades_unit_twentysix);
SpinnerGradesUnitEighteen = (Spinner) findViewById(R.id.spinner_grades_unit_eighteen);
SpinnerGradesUnitTwentyEight = (Spinner) findViewById(R.id.spinner_grades_unit_twentyeight);
SpinnerGradesUnitFortyThree = (Spinner) findViewById(R.id.spinner_grades_unit_fortythree);
String[] spinnerArrayGrades = getResources().getStringArray(R.array.spinner_grades);
ArrayAdapter<String> adapterGrades = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, spinnerArrayGrades);
SpinnerGradesUnitOne.setAdapter(adapterGrades);
SpinnerGradesUnitTwo.setAdapter(adapterGrades);
SpinnerGradesUnitThree.setAdapter(adapterGrades);
SpinnerGradesUnitSix.setAdapter(adapterGrades);
SpinnerGradesUnitNine.setAdapter(adapterGrades);
SpinnerGradesUnitTwentySix.setAdapter(adapterGrades);
SpinnerGradesUnitEighteen.setAdapter(adapterGrades);
SpinnerGradesUnitTwentyEight.setAdapter(adapterGrades);
SpinnerGradesUnitFortyThree.setAdapter(adapterGrades);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_year_one);
if (savedInstanceState != null){
SpinnerGradesUnitOne.setSelection(savedInstanceState.getInt("spinnerUnit1", 0));
SpinnerGradesUnitTwo.setSelection(savedInstanceState.getInt("spinnerUnit2", 0));
SpinnerGradesUnitThree.setSelection(savedInstanceState.getInt("spinnerUnit3", 0));
SpinnerGradesUnitSix.setSelection(savedInstanceState.getInt("spinnerUnit6", 0));
SpinnerGradesUnitNine.setSelection(savedInstanceState.getInt("spinnerUnit9", 0));
SpinnerGradesUnitTwentySix.setSelection(savedInstanceState.getInt("spinnerUnit26", 0));
SpinnerGradesUnitEighteen.setSelection(savedInstanceState.getInt("spinnerUnit18", 0));
SpinnerGradesUnitTwentyEight.setSelection(savedInstanceState.getInt("spinnerUnit28", 0));
SpinnerGradesUnitFortyThree.setSelection(savedInstanceState.getInt("spinnerUnit43", 0));
}
SubmitMainActivity();
SpinnerGrades();
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("spinnerUnit1", SpinnerGradesUnitOne.getSelectedItemPosition());
outState.putInt("spinnerUnit2", SpinnerGradesUnitTwo.getSelectedItemPosition());
outState.putInt("spinnerUnit3", SpinnerGradesUnitThree.getSelectedItemPosition());
outState.putInt("spinnerUnit6", SpinnerGradesUnitSix.getSelectedItemPosition());
outState.putInt("spinnerUnit9", SpinnerGradesUnitNine.getSelectedItemPosition());
outState.putInt("spinnerUnit26", SpinnerGradesUnitTwentySix.getSelectedItemPosition());
outState.putInt("spinnerUnit18", SpinnerGradesUnitEighteen.getSelectedItemPosition());
outState.putInt("spinnerUnit28", SpinnerGradesUnitTwentyEight.getSelectedItemPosition());
outState.putInt("spinnerUnit43", SpinnerGradesUnitFortyThree.getSelectedItemPosition());
}
你可能想解释你有什么问题。 – miken32
我试图让用户在两次活动之间导航时保持他们的选择,目前他们每次都会被擦掉。 – Cambino