2016-04-25 4 views
0

На экране вращения я хочу восстановить данные. Поэтому я использую метод onSaveInstanceState для достижения этого. Всякий раз, когда я восстанавливаю пакет в onCreate и печатаю его в Logcat. Я получаю дополнительные эти две строки в качестве ключа:savedInstanceState bundle содержит неизвестный ключ

В 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" 
+0

Те используются Android компонентов для сохранения их состояния, а также. – DeeV

ответ

1

Внутри Узле onSavedInstance под ключ “android:viewHierarchyState”, Android ставит еще один объект Bundle. Этот пакет имеет, как следует из названия, состояние представления. Внутри системы хранения иерархии представлений Android хранит SparseArray под ключом «андроид: виды».

и под ключ "android:support:fragments", фрагменты магазинов Android.

Подробнее: http://www.intertech.com/Blog/saving-and-retrieving-android-instance-state-part-1/#ixzz46sDsZSyC