Сохранить интерфейс (Listener) в onSaveInstanceState
SaveInstanceState
Для таких данных, как Integer, Long, String и других, все в порядке, я просто помещаю их в пакет и возвращаю их, как только снова вызывается onCreateView. Но мой фрагмент также имеет слушателя, как следующий,
public class SomeFragment extends Fragment {
public interface SomeListener {
public void onStartDoingSomething(Object whatItIsDoing, Date when);
public void onDoneDoingTheThing(Object whatItDid, boolean result);
}
private SomeFragmentListener listener;
private String[] args;
public static SomeFragment getInstance(SomeListener _listener, String... _args) {
SomeFragment sf = new SomeFragment();
sf.listener = _listener
sf.args = _args
return sf;
}
// rest of the class
// the example of where do I invoke the listener are
// - onSetVisibilityHint
// - When AsyncTask is done
// - successfully download JSON
// etc.
}
Как я могу заставить слушателя связываться так, чтобы я мог вернуть его позже?