Я новичок в мире Android-программирования, вот мой вопрос.Каков наилучший подход для инициализации интерфейса. (Activity-Frament)?
Предположим, что у меня есть деятельность с именем A
и фрагмент с именем F
. Я знаю, что взаимодействие между Activity
и Fragment
должно осуществляться через Interface
. Я использовал, чтобы установить Interface
в onAttach()
из Fragment
как этот
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
mListener = (MyListenerInterface) activity;
}
и теперь я слышал о Static Factory Method
от here. Мой вопрос: Какой лучший подход к init. слушатель? onAttach()
или инициализировать слушателя через статический заводский метод, как это?.
public static MyFragment newInstance(MyListenerInterface mListener) {
MyFragment f = new MyFragment();
this.mListener = mListener;
...........
return f;
}
Я думаю, что лучше инициализировать слушателя через static factory method
вместо литья от деятельности, таким образом, мы могли бы избежать исключения нулевого указателя.
Ничего себе, спасибо за ответ. :) – theapache64
что подразумевается 'не забудьте уничтожить интерфейс в onDetach'? ноль ? Это необходимо для каждого 'onAttach'? – Kiran
onDetach вы должны установить listenerInteface = null, чтобы не вызывать утечек. –