Android onPause和onResume方法

时间:2013-02-06 09:59:17

标签: android

我正在尝试实施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 个答案:

答案 0 :(得分:1)

我认为gotPassengergotStaffNumber vars为空 - 如果你想保存它们而不是必须使用prefs或将它们保存到某个包中以便以后恢复。

答案 1 :(得分: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"));
}

答案 2 :(得分:0)

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

答案 3 :(得分:0)

如果您想在关闭应用时保存数据,则需要使用sharedPreferencesHere's你如何使用它们