我制作了一个基本的数据记录应用程序,它应该让用户输入值到一个动态的并且通常是大量的 EditText 视图中。用户输入完所有数据后,可以按下一个按钮,对数据输入进行拍照(请耐心等待将输入存储为图片,这是有特定原因的),并将图片保存到存储中.
问题: 它工作得很好,除了一个特定的问题。有时,当用户将手机置于空闲状态(这在实际保存输入之前经常发生)时,EditText 视图中的所有输入都会清除(让我成为一个非常愤怒/悲伤的人)。更重要的是,它只发生在我在现场并且无法查看 eclipse 中的日志文件以找出可能与正常调用不同的方法时。
问题:为什么我的 EditTexts 中的值在手机进出空闲的大部分时间都保持不变,但在看似随机(并且通常不方便)的情况下它们会清除?
我有一种感觉,这是由于在某些情况下调用 onStop() 而不是 onPause() (反之亦然)引起的,但我对这些方法的了解还不够快。另外,我知道这个问题可以通过 sharedPreferences 文件(或一些类似的想法)来解决,但我想知道发生了什么,以便于理解。
细节:
- 我不确定是否有任何代码可能以有意义的方式与问题相关,但如果有帮助,我将包含我的 onCreate() 方法的片段。让我知道是否应该添加其他任何内容:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_input_param);
Intent intent = getIntent();
//Rest of the code just builds the layout from data taken from the intent
- 除了 onCreate() 之外,我没有覆盖任何生命周期方法(即 onStop()、onResume() 等)。据我所知,我活动中的任何其他方法都与该问题无关