2012-02-21 2 views
2

чем разница между: myBundle & тот, возвращаемый getArguments()Android и Связки

@Override 
public void onCreate(Bundle myBundle) { //on create() belonging to a Fragment 
    super.onCreate(myBundle); 
    // So myBundle vs getArguments() 
} 

Из моего простого теста они не тот же объект, испытанный это с:

private void compareThem(Bundle myBundle, Bundle arguments) { 
    Log.d("---myBundle==null: ", " " + (myBundle==null)); 
    Log.d("---arguments==null: ", " " + (arguments==null)); 

    if(myBundle!=null && arguments!=null) { 
    Log.d("---myBundle==arguments: ", " " + (myBundle==arguments)); 
    Log.d("---myBundle.equals(arguments): ", " " + (myBundle.equals(arguments))); 
    } 
} 

Иногда я получаю: false, true, false, false иногда: false, false, false, false Anyways .. ??

ответ

1

Пакет, переданный в onCreate() (myBundle в вашем коде), называется так называемым saveInstanceState. Вы можете сохранить некоторые данные («состояние») из фрагмента в комплекте в методе onSaveInstanceState(), а позже этот комплект будет доступен в onCreate() и другими способами.

Пакет, возвращенный getArguments() Метод - это пучок, переданный от вызывающего фрагмента. Этот комплект предоставляется через метод setArguments().

 Смежные вопросы

  • Нет связанных вопросов^_^