Каковы будут последствия, если я передам object
в fragment
без использования bundle
?Я просто открыл один из старого кода и нашел его там, и не мог не задать этот вопрос, поскольку я никогда не пробовал его.Также я не нахожу в ней утечек памяти.
Вот как это реализовано -
Класс активности:
MyFragment fragment =
MyFragment.newInstance(getIntent().getStringExtra(DATA),
instance.getCallback(),
instance.getRequest());
getSupportFragmentManager().beginTransaction().replace(R.id.content, fragment).commit();
Класс фрагмента:
public class MyFragment extends Fragment {
public MyFragment() {
/* Required empty public constructor */
}
public static MyFragment newInstance(String data, Callback callback,
Request request) {
MyFragment fragment = new MyFragment();
fragment.setCallback(callback);
fragment.setRequest(request);
fragment.setData(data);
return fragment;
}
private void setCallback(Callback callback) {
this.callback = callback;
}
private void setData(Data data) {
this.data = data;
}
private void setRequest(Request request) {
this.request = request;
}
}
Обычно я использовал до сегодняшнего дня Fragment#setArguments(Bundle)