Java 传入呼叫重置活动/片段中的EditText值
到目前为止,我发现Android的这种行为非常奇怪。 我创建了一个android应用程序来输入来自EditText的数据,,,但一旦有电话来了。我在EditText中写入的值已清除。我试着每5秒创建一次会话,并将其加载回简历,但仍然无效 也许有人能理解这种行为,并能进一步解释。Java 传入呼叫重置活动/片段中的EditText值,java,android,android-studio,Java,Android,Android Studio,到目前为止,我发现Android的这种行为非常奇怪。 我创建了一个android应用程序来输入来自EditText的数据,,,但一旦有电话来了。我在EditText中写入的值已清除。我试着每5秒创建一次会话,并将其加载回简历,但仍然无效 也许有人能理解这种行为,并能进一步解释。 感谢您在创建后添加此内容 super.onCreate(savedInstanceState) 我不确定,但这可能是因为电话框架,因为它在android中具有最高优先级,当您接到呼叫时,默认情况下,调用了Teleph
感谢您在创建后添加此内容
super.onCreate(savedInstanceState)
我不确定,但这可能是因为电话框架,因为它在android中具有最高优先级,当您接到呼叫时,默认情况下,调用了TelephonyManager,并且PhoneActivity IDK(用户界面的真实名称)出现在顶部,以便您可以接听或挂断呼叫。 但是正因为如此,你的活动进入了桌面,它的状态被清除了,编辑文本中的文本也被清除了。当我们旋转设备时,类似的情况也会发生 您可以通过保存和恢复活动状态来防止这种情况 示例:在活动内重写这些方法
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putString("old_text", yourEditText.getText());
}
然后
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
String myString = savedInstanceState.getString("old_text");
yourEditText.setText(myString);
}
我希望这将帮助您共享您的代码这一个也不起作用…等等,我将共享我的代码