Ваш фрагмент не должен иметь конструкторов из-за того, как FragmentManager его создает.Вы должны определить статический метод newInstance()
и передать любые параметры через аргументы (связка)
Например:
public static final MyFragment newInstance(int title, String message)
{
MyFragment fragment = new MyFragment();
Bundle bundle = new Bundle(2);
bundle.putInt(EXTRA_TITLE, title);
bundle.putString(EXTRA_MESSAGE, message);
fragment.setArguments(bundle);
return fragment ;
}
И прочитать эти аргументы в onCreate:
@Override
public void onCreate(Bundle savedInstanceState)
{
title = getArguments().getInt(EXTRA_TITLE);
message = getArguments().getString(EXTRA_MESSAGE);
//...
}
Таким образом, если отсоединенное и повторно присоединенное состояние объекта может быть сохранено через аргументы, во многом как связки, присоединенные к Intents.