首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >循环后返回null的OnRestoreInstanceState

循环后返回null的OnRestoreInstanceState
EN

Stack Overflow用户
提问于 2019-05-10 03:53:19
回答 1查看 195关注 0票数 0

当我在listView中输入内容,并在旋转之后,listView返回null,而不是我输入的文本。你能解释一下为什么会发生这种情况吗?

代码语言:javascript
复制
override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
        super.onRestoreInstanceState(savedInstanceState)
        Log.i("ToDoList","OnRestoreInstanceState was called")

        val listSave = savedInstanceState?.getStringArrayList("list")
        this.list.clear()
        this.list.add(listSave.toString())

        adapter = ArrayAdapter <String> (this, android.R.layout.simple_list_item_1,list)
        toDoList.adapter = adapter
    }
override fun onSaveInstanceState(outState: Bundle?, outPersistentState: PersistableBundle?) {
        super.onSaveInstanceState(outState, outPersistentState)
        Log.i("ToDoList","OnSaveInstanceState was called")
        outState?.putStringArrayList("list", list)
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-10 10:48:37

根本原因:您覆盖了错误的onSaveInstanceState()方法。

更改您的代码

代码语言:javascript
复制
override fun onSaveInstanceState(outState: Bundle?, outPersistentState: PersistableBundle?) {
    super.onSaveInstanceState(outState, outPersistentState)
    Log.i("ToDoList","OnSaveInstanceState was called")
    outState?.putStringArrayList("list", list)
}

代码语言:javascript
复制
override fun onSaveInstanceState(outState: Bundle?) {
    super.onSaveInstanceState(outState)
    Log.i("ToDoList","OnSaveInstanceState was called")
    outState?.putStringArrayList("list", list)
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56066660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档