Представление установки внутри onCreateView против onActivityCreated - PullRequest
0 голосов
/ 21 декабря 2018

Мне действительно любопытно, как лучше всего настроить представления во фрагменте.Это то, чем я занимаюсь с тех пор, как начал разрабатывать для Android.

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.main_fragment, container, false);
    ListView listView = view.findViewById(...);
    listView.setAdapter(...);
    return view;
}

Затем я прочитал о методе onActivityCreated и прочитал, что мне нужно настроить представление внутри, а не onCreateViewпоэтому я написал для себя некоторый код, чтобы сделать то же самое

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    return inflater.inflate(R.layout.main_fragment, container, false);
}

public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    View view = getView();
    if(view == null){
        throw new NullPointerException("View returned null inside onActivityCreated this shouldn't have happened!");
    }
    ListView listView = view.findViewById(...);
    listView.setAdapter(...);
}

Мне действительно любопытно, в чем здесь разница?И какой следует использовать?Какой андроид рекомендует использовать?

1 Ответ

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

Вы действительно можете использовать все, что хотите, до тех пор, пока это работает.

Однако я считаю, onViewCreated () технически является "официальным" или рекомендуемым способом изменения и ссылки на вашВид после того, как он был создан.

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