誰かが私のsavedInstanceStateの値がnullである理由を説明できますか? 私は3つのウィジェット、EditText、Button、TextViewを持っています。人は彼らが望むものをタイプする。フレーズがTextViewでポップアップ表示されます。私は電話をかけるときに入力を保持したい。活動が再作成されたとき、私は、私のトーストは、それがnullだと言って、状態を保存しようとしましたが:savedInstanceState nullを返す
public class MainActivity extends AppCompatActivity {
private EditText input;
private TextView output;
private Button button;
private String newString = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
input = (EditText)findViewById(R.id.input);
output = (TextView) findViewById(R.id.output);
button = (Button)findViewById(R.id.button);
if (savedInstanceState!=null){
Toast.makeText(this, "SAVED IS " + savedInstanceState.getString("example"), Toast.LENGTH_SHORT).show();
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
newString = input.getText().toString();
output.setText(newString);
}
});
}
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
outState.putString("example",newString);
}}
「アクティビティを再作成した」とはどういう意味ですか?どのように再作成されるのですか? –
デバイスが回転しているとき –