我對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