-3

我正在尝试实现onPause()onResume()这样当我退出活动时,我的文本视图中的文本仍然存在,但是"null"当我开始活动时它会显示,请协助!

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        etPassenger.setText(""+ gotPassenger );
        etStaffNumber.setText("" + gotStaffNumber);
    }



    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        etPassenger.setText(""+ gotPassenger );
        etStaffNumber.setText("" + gotStaffNumber);
    }
4

4 回答 4

0

我认为gotPassengerand gotStaffNumbervars 是空的——如果你想保存它们而不是你必须使用首选项或将它们保存到某个包中以便以后恢复。

于 2013-02-06T10:03:01.477 回答
0

当您离开活动时,您将丢失存储在 gotPassenger 和 gotStaffNumber 中的数据。
如果您想在退出应用程序后重用它们,您必须先使用SharedPreferences它们来保存它们,然后在您回来时检索它们。

于 2013-02-06T10:16:50.247 回答
0

当您最小化您的活动时,您的变量变为空。在您的活动中添加以下代码,

@Override
public void onSaveInstanceState(Bundle savedInstanceState)
{
savedInstanceState.putString("gotPassenger",gotPassenger);
savedInstanceState.putString("gotStaffNumber",gotStaffNumber);
}

并且,在您的 onCreate() 方法中,添加以下内容,

if(savedInstanceState!=null)
{
etPassenger.setText(savedInstanceState.getString("gotPassenger"));
etStaffNumber.setText(savedInstanceState.getString("gotStaffNumber"));
}
于 2013-02-06T10:16:15.920 回答
0

如果您想在关闭应用程序时保存数据,则需要使用sharedPreferences. 以下是你如何使用它们

于 2015-08-27T16:46:01.847 回答