android - Fragment getActivity() -- avoiding NPE -
i have single activity application number of fragments (15 or so). of methods in myactivity
required fragments, such displaying dialogs
. have in sample call fragment (and extend myfragment
) like:
getmyactivity().displaydialog(msg);
and getmyactivity
defined in myfragment
:
myactivity getmyactivity() { return (myactivity) getactivity(); }
however, getactivity() null npes in case. i'm doing moving methods myfragment such that:
protected void displaydialog(string msg) { if (getmyactivity() != null) { getmyactivity().displaydialog(msg); } else { // do here? } }
does approach make sense 10 or methods need reference myactivity (and there pitfalls doing so)? also, provide feedback in case getactivity()
null?
edit: common example of cause nullpointerexception network call being dispatched fragment , on completion of said network call, trying display dialog when activity
destroyed in meantime.
its better use parentfragment example
public abstract class parentfragment extends fragment { public activity activity; @override public void onattach(activity activity) { super.onattach(activity); this.activity = activity; } }
then must owerride yor fragments
public class somefragment extends parentfragment {}
and use there activity for
activity.displaydialog(msg);
Comments
Post a Comment