setArguments () в Fragment и onCreate () - PullRequest
0 голосов
/ 06 декабря 2018

Если я создаю новый Fragment и затем задаю ему аргументы, могу ли я полагаться на то, что эти аргументы всегда доступны для меня в onCreate() Fragment?Если да, то как они это делают?Если не так, как я должен общаться, если они не хотят, чтобы мы писали новые конструкторы?

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Да, ваши аргументы доступны в методе onCreate.Пожалуйста, ознакомьтесь с этим ответом, чтобы узнать, как передать аргументы фрагментам: Как передать некоторые данные в другой фрагмент?

Другой способ связи с фрагментом - через интерфейс, которыйваша деятельность реализуется, и вы передаете ее как ссылку на свой фрагмент в методе onAttach.Дополнительная информация: https://developer.android.com/training/basics/fragments/communicating

Базовая связь между двумя фрагментами

0 голосов
/ 06 декабря 2018

Попробуйте таким способом любой фрагмент установить аргумент и получить аргумент ..

// pass parameter to pass into bundle
public static NewMessageFragment newInstance(UserData userData) {
    NewMessageFragment newMessageFragment = new NewMessageFragment();
    Bundle bundle = new Bundle();
    bundle.putParcelable(Constants.KEY_MESSAGE_USER_VO, userData);
    newMessageFragment.setArguments(bundle);
    return newMessageFragment;
}

// get value.
private void extractArguments() {
    Bundle bundle = getArguments();
    if (bundle != null) {
        userData = bundle.getParcelable(Constants.KEY_MESSAGE_USER_VO);
    }
}

extractArguments () метод, вызываемый в onCreateView () метод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...