如何将onSavedInstantState应用于此java代码?

时间:2012-03-02 17:21:11

标签: java android textbox

我有这个笔记,用户可以在文本框中键入他想要的内容。但即使用户退出应用程序,我也希望文本仍然存在。我如何在notes.java代码中应用onSavedInstantState和RestoreinstantState?

public class notes extends Activity{

    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.notes);

        Button wg = (Button) findViewById(R.id.button3);
        wg.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                Intent intent = new Intent();
                setResult(RESULT_OK, intent);
                finish();
            }

        });



    }
}

1 个答案:

答案 0 :(得分:0)

除onRetainNonConfigurationInstance()(不推荐使用)之外另一种保存状态的方法是onSaveInstanceState

onSaveInstanceState,它的关联方法是挂钩,告诉你正在发生的事情,你可能想要保存/恢复。这些通常称为配置更改,但如果应用程序被android关闭也会发生。

您可以像使用onCreate一样覆盖这些方法:

@Override
public void onSaveInstanceState(Bundle bundle)
{
    //Now you must either save it to memory, the db, a preference, or somwhere else
    bundle.putSerializable("some key", objectToSave);
    super.onSaveInstanceState(bundle);
}

然后你可以通过传入的包中的方式将该对象放回onCreate。

如果应用退出,您需要做的不仅仅是将其保存到捆绑包中。你必须在其他地方坚持下去,并在需要时手动加载它。