savedInstanceState包含未知密钥

时间:2016-04-25 20:34:49

标签: android screen-rotation android-savedstate

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

on 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"

1 个答案:

答案 0 :(得分:1)

在onSavedInstance的Bundle内部,在#include <unistd.h> #include <stdio.h> int main(int argc, char *argv[]){ int ch; while( (ch = getopt(argc - 2, argv + 2, "b:")) != -1 ) { printf("%c %s\n", ch, optarg); } return 0; } 的键下,Android放入另一个Bundle对象。顾名思义,此捆绑包包含View状态。在视图层次结构状态包内,Android在关键字“android:views。”下存储SparseArray。

在密钥“android:viewHierarchyState”下,Android会存储片段。

了解详情:http://www.intertech.com/Blog/saving-and-retrieving-android-instance-state-part-1/#ixzz46sDsZSyC