편집 : onPause()
및 onResume()
을 추가 한 후 앱이 더 이상 충돌하지 않습니다. 그러나 인스턴스는 여전히 저장되지 않으며 나는 EditText
안에 넣은 텍스트를 잃어 버립니다. 나는 onPause()
, onStop()
을 사용하여 인스턴스를 저장해야한다고 추측하고 onResume()
(또는 어쩌면이 및onSaveInstanceState(), onRestoreInstanceState()
을 함께 사용)을 호출합니다. 지금이 세 가지 방법을 사용하는 방법에 대해 읽고 있습니다. 어떤 조언을 부탁드립니다.savedInstanceState가 구현 된 후 Android 앱이 중지됩니다.
저는 현재 4 가지 (아마도 5 가지)의 활동으로 간단한 Android 앱을 작성하고 있습니다. 이 앱의 기능은 대학의 학생들에게 도움말과 조언을 제공하는 것인데, 버튼을 누를 때 충고 페이지로 학생들을 데려 갈 것입니다 (버튼으로 activity_main_page
페이지에 나타나는).
현재 제가 작업하고있는 것은 코스 추가 페이지입니다 : activity_add_course
. (예를 들어, 사용자가 뒤로 버튼 또는 홈 버튼을 누를 때) 활동이 일시 중지/중지되었을 때 EditText
의 텍스트 (여기는 사용자가 코스 이름을 추가하는 곳)의 상태를 저장하는 방법을 추가하려고합니다. 사용자가 페이지로 돌아 왔을 때 리콜 할 수 있습니다.
응용 프로그램에 인스턴스 상태 저장을 추가하기 전에 응용 프로그램이 잘 작동했습니다 (활동을 연결하기 위해 더미 인 텐트를 사용하여 - 실제로 응용 프로그램이 작동하도록 SQL 데이터베이스를 추가하지 않았습니다). 인스턴스 상태 저장 및 호출을 추가 했으므로 앱이 뒤로 버튼을 클릭하면 실행이 중지되고 이유가 없습니다. 또는 그것을 고치는 방법? -이 문제가 해결되었습니다. 감사합니다 @peresisUser
이는 뒤로 버튼
btBk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent New = new Intent(AddCourse.this, MainPage.class);
startActivity(New);
}
});
}
코드입니다 그리고이 내가 예를 들어 사용하는 코드 저장 및 복원합니다.
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
//Save instance state
savedInstanceState.putString("edC1", edCourse1.getText()+"");
savedInstanceState.putString("edC2", edCourse2.getText()+"");
savedInstanceState.putString("edC3", edCourse3.getText()+"");
savedInstanceState.putString("edC4", edCourse4.getText()+"");
}
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
//Restore instance state
String edC1 = savedInstanceState.getString("edC1");
edCourse1.setText(edC1+"");
String edC2 = savedInstanceState.getString("edC2");
edCourse2.setText(edC2+"");
String edC3 = savedInstanceState.getString("edC3");
edCourse3.setText(edC3+"");
String edC4 = savedInstanceState.getString("edC4");
edCourse4.setText(edC4+"");
}
edCourse1-4
EditTexts
있습니다. 나의 이해에서
의 onSaveInstanceState()
는 edCourse1.getText()+""
에서 텍스트로 edC1
저장됩니다 등등, 다음 onRestoreInstanceState()
는 String
edCourse1
-edC1
내부 등을 복원합니다.
문제가 생겨서 다음 호를 어떻게 해결할 수 있을지 모르겠으니 페이지의 버튼 상태를 activity_main_page
으로 저장해야합니다. 여기에는 보이지 않거나 이름이없는 것으로 시작하는 버튼이 10 개 있습니다. 여기서 activity_add_course
은 버튼에 이름을 추가하고 표시합니다. 필자는 앱을 다시 시작할 때 모든 버튼이 보이지 않게 될 것이라고 생각합니다.
크래시에서 스택 추적을 게시 할 수 있습니까? ' 그리고 오류 –