【问题标题】:savedInstanceState bundle contains unknown keysavedInstanceState 包包含未知键
【发布时间】:2016-04-25 20:34:49
【问题描述】:

在屏幕旋转时,我想恢复数据。所以我使用 onSaveInstanceState 方法来实现这一点。每当我在 onCreate 中恢复包并在 Logcat 中打印它时。我得到了额外的这两个字符串作为键:

在 onCreate 中:

  if(savedInstanceState!=null){
    for (String key: savedInstanceState.keySet())
     {
            Log.d ("TOTAL BUNDLE READING", key + "KEYS");
            totalfiles.add(new File(key));

     }

    }else{
        Log.d("SAVED FILESELECT","NULL");
    }

savedInstanceState 中的另外两个键是:

           "android:viewHierarchyState"

           "android:support:fragments"

【问题讨论】:

  • Android 组件也使用这些来保存它们的状态。

标签: android screen-rotation android-savedstate


【解决方案1】:

在onSavedInstance的Bundle内部,在“android:viewHierarchyState”这个key下,Android放了另一个Bundle对象。顾名思义,这个包包含 View 状态。在视图层次结构状态包中,Android 在“android:views”键下存储了一个 SparseArray。

"android:support:fragments" 键下,Android 存储片段。

阅读更多:http://www.intertech.com/Blog/saving-and-retrieving-android-instance-state-part-1/#ixzz46sDsZSyC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    相关资源
    最近更新 更多