android - NullPointerException when referencing toolbar in fragment -
i have added toolbar in activity , trying access in fragment change title , icon navigation, keep getting error
java.lang.nullpointerexception: attempt invoke virtual method 'void android.app.actionbar.setdisplayhomeasupenabled(boolean)' on null object reference when run app number of warnings possible object being null. know has getsupportactionbar cannot work out doing wrong
here code declaring toolbar in activity
toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar); setsupportactionbar(toolbar); the code referencing , changing toolbar in fragment
toolbar toolbar = (toolbar) getactivity().findviewbyid(r.id.toolbar); ((appcompatactivity)getactivity()).setsupportactionbar(toolbar); ((appcompatactivity)getactivity()).getsupportactionbar().setdisplayshowhomeenabled(true); and code declaring toolbar in xml
<android.support.v7.widget.toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionbarsize" android:background="?attr/coloraccent" android:layout_alignparenttop="true" app:popuptheme="@style/apptheme.popupoverlay" /> i using appcompatactivity if helps
i think problem access toolbar before view inflation results in nullpointerexception. , since using support library need cast toolbar android.support.v7.widget.toolbar. here solution may help:
public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view rootview = inflater.inflate(r.layout.fragment_main, container, false); android.support.v7.widget.toolbar toolbar = (android.support.v7.widget.toolbar) rootview.findviewbyid(r.id.toolbar); ((appcompatactivity)getactivity()).setsupportactionbar(toolbar); ((appcompatactivity)getactivity()).getsupportactionbar().setdisplayshowhomeenabled(true); return rootview; }
Comments
Post a Comment