Android & Связки - PullRequest
       12

Android & Связки

2 голосов
/ 21 февраля 2012

в чем разница между: myBundle и возвращаемым getArguments ()

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

Иногда я получаю: ложь, правда, ложь, ложь иногда: ложь, ложь, ложь, ложь В любом случае .. ??

1 Ответ

1 голос
/ 21 февраля 2012

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

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

...