Jestem zdezorientowany, jeśli chodzi o ratowanie stanu. Więc wiem, że onSaveInstanceState(Bundle)
jest to wywołane, gdy działalność ma zostać zniszczona. Ale w jaki sposób przechowujesz w nim swoje informacje i przywracasz je do pierwotnego stanu onCreate(Bundle savedInstanceState)
? Nie rozumiem, jak ten pakiet przywróci informacje. Byłoby pomocne, gdyby ktoś mógł podać przykład. Przewodnik dla programistów nie wyjaśnia tego dobrze.
public class Conversation extends Activity {
private ProgressDialog progDialog;
int typeBar;
TextView text1;
EditText edit;
Button respond;
private String name;
private String textAtView;
private String savedName;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.dorothydialog);
text1 = (TextView)findViewById(R.id.dialog);
edit = (EditText)findViewById(R.id.repsond);
respond = (Button)findViewById(R.id.button01);
if(savedInstanceState != null){
savedInstanceState.get(savedName);
text1.setText(savedName);
}
else{
text1.setText("Hello! What is your name?");
respond.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name = edit.getText().toString();
text1.setText("Nice to meet you "+ name);
}
});
}
}
@Override
public void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);
outState.putString(savedName, name);
}
}