如何在onPause()方法中更改从EditText加载的按钮文本?
例如
@Override
public void onPause(){
button.setText(text.getText().toString());
super.onPause()
}
当我按后退按钮时,它不会改变按钮文本
答案 0 :(得分:0)
暂且不考虑为什么要在onPause()
中首先执行此操作...
通常情况下,您的观看状态会保存在onSaveInstanceState(...)
中。但根据the docs,无法保证对onSaveInstanceState(...)
的调用是在调用onPause()
之前还是之后发生的。如果在onSaveInstanceState(...)
之前调用onPause()
,则您在onPause()
中所做的任何更改都将丢失。
答案 1 :(得分:0)
请阅读documentation - 它描述了具有出色图表的Android活动流程
onPause()已经是您活动中的现有方法,因此您需要@Override
它。除非你修改了后退按钮的行为 - 这是发生的事情:
如果您想尝试检查文本是否设置正确 - 您可能会发现更容易编写:
@Override
public void onPause(){
super.onPause();
Log.d("Text's text:" + text.getText().toString()
+ "Button:" + button.getText().toString());
}
您需要导入android.util.Log
另请注意,强烈建议(here)在覆盖Android默认方法时首先调用super()作为第一件事。