我正在开发一个 Android 应用程序,在该应用程序中,每当有电话来电、更改应用程序的方向等时,我想将输入到数据库中活动的文本视图中的信息保存起来。
我正在使用此代码来保存用户输入到 textview 中的信息。
@Override
protected void onSaveInstanceState(Bundle outState) {
save();
Toast.makeText(getApplicationContext(), "On save state", Toast.LENGTH_SHORT).show();
super.onSaveInstanceState(outState);
}
问题 :
每当我的手机方向改变时,该onSaveInstanceState
方法就会被调用两次。谁能解释我这样做的原因。
因为它被调用了两次,所以save()
也被调用了两次,而且我的数据库表中有重复的条目——这不好。
我不能android:configChanges="orientation|screenSize"
在清单文件中使用来处理方向变化。因为当用户将横向更改为纵向时,它会使广告消失。
onSaveInstanceState
接到电话时只调用一次:)
注意:save() 也称为 onBackPressed() 方法
请协助 !