java - OnRestoreInstanceState 旋转后返回 null

标签 java android android-activity kotlin

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

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)
    }

最佳答案

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

解决方案:您必须覆盖 onSaveInstanceState(Bundle)而不是onSaveInstanceState(Bundle, PersistableBundle) .

更改您的代码

override fun onSaveInstanceState(outState: Bundle?, outPersistentState: PersistableBundle?) {
    super.onSaveInstanceState(outState, outPersistentState)
    Log.i("ToDoList","OnSaveInstanceState was called")
    outState?.putStringArrayList("list", list)
}

override fun onSaveInstanceState(outState: Bundle?) {
    super.onSaveInstanceState(outState)
    Log.i("ToDoList","OnSaveInstanceState was called")
    outState?.putStringArrayList("list", list)
}

关于java - OnRestoreInstanceState 旋转后返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56066660/

相关文章:

java - Android:类什么时候被系统卸载?

android - 将大位图加载到 ViewPager 中的 ImageView - 内存不足

java - 操作栏在 Lollipop 之前的设备中透明

android - 错误 :(15, 55) 找不到错误 : cannot access zza class file for com. google.android.gms.common.internal.safeparcel.zza

android - 适当存储和显示我的书签/历史 Activity ?

java - java中将十六进制数字字符串转换为 double 字

java - 使用 JBuilder 构建 Android 应用程序?

java - 围绕变量而不是类或方法进行同步

android - Activity 没有启动,也没有显示错误

android - onPause() 是否保证被调用,即使在强制关闭应用程序进程时也是如此?