保存活动中的所有更改

时间:2018-04-05 21:08:23

标签: java android

我想知道如何保存活动中的所有更改并恢复它们?

例如:
我的活动中有一个列表视图,其中包含String和image等元素。 我可以删除此列表视图的项目。现在我想要在我的活动和已关闭的应用程序中删除或创建新的列表视图项,在下次打开应用程序时,所有更改都将从设备存储中加载。

有没有办法做到这一点?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_custom_layout_dialogs);
    dialogsList = (DialogsList) findViewById(R.id.dialogsList);
    Button adddialog = (Button)findViewById(R.id.btn_dialog);

    adddialog.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            initAdapter();
        }
    });
    savedInstanceState.clone();
}

1 个答案:

答案 0 :(得分:0)

哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇

单独的标题听起来很糟糕,所以人们会翻白眼。你真正想要的是数据持久性,是的,它是非常可能的。

不是为了保存整个活动,因为这只是代码的错误,但您可以存储数据块。为了你的运气,你想要的确如此。

有几种方法可以做到这一点。本地数据库是一个,但有点复杂。你似乎是为了从初学者那里学习而做的,所以我推荐Shared Preferences

基本上,您需要将列表视图中的所有数据都放入一个数组中,并将此数组与所选键的共享首选项一起存储(您为该键指定的任何名称都有效)。每当您再次打开列表视图时,使用共享首选项读取同名密钥,您将获得该数组。然后用最近获得的数组填充列表视图。