Лучшая практика для создания нового фрагмента Android - PullRequest
661 голосов
/ 12 февраля 2012

Я видел две общие практики создания нового фрагмента в приложении:

Fragment newFragment = new MyFragment();

и

Fragment newFragment = MyFragment.newInstance();

Во втором варианте используются статический метод newInstance() и обычно содержит следующий метод.

public static Fragment newInstance() 
{
    MyFragment myFragment = new MyFragment();
    return myFragment;
}

Сначала я подумал, что основное преимущество заключается в том, что я могу перегрузить метод newInstance (), чтобы обеспечить гибкость при создании новых экземпляровФрагмент - но я также мог бы сделать это, создав перегруженный конструктор для Фрагмента.

Я что-то пропустил?

В чем преимущества одного подхода перед другим?Или это просто хорошая практика?

Ответы [ 11 ]

0 голосов
/ 29 декабря 2014

Мне кажется, у меня есть очень простое решение для этого.

public class MyFragment extends Fragment{

   private String mTitle;
   private List<MyObject> mObjects;

   public static MyFragment newInstance(String title, List<MyObject> objects)
   MyFragment myFrag = new MyFragment();
   myFrag.mTitle = title;
   myFrag.mObjects = objects;
   return myFrag;
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...