android - Null Pointer Exception while setting OnCheckedStateListener on ToggleButton -


this question has answer here:

a null pointer exception caused while trying set oncheckedstatelistener on togglebutton. exception? checked development document , did accordingly..

public class accountviewdetailsfragment extends fragment {  togglebutton togglebutton; linearlayout testlinearlayout;  public accountviewdetailsfragment() {     // required empty public constructor }   @override public view oncreateview(layoutinflater inflater, viewgroup container,                          bundle savedinstancestate) {     // inflate layout fragment     return inflater.inflate(r.layout.account_view_details_fragment, container, false); }  @override public void onactivitycreated(@nullable bundle savedinstancestate) {     super.onactivitycreated(savedinstancestate);      testlinearlayout = (linearlayout)getview().findviewbyid(r.id.toggletestlinearlayout);     togglebutton = (togglebutton)getview().findviewbyid(r.id.togglebuttontest);       togglebutton.setoncheckedchangelistener(new compoundbutton.oncheckedchangelistener() {         @override         public void oncheckedchanged(compoundbutton compoundbutton, boolean ischecked) {             if(ischecked){                 testlinearlayout.setvisibility(view.gone);             }             if(!ischecked){                 testlinearlayout.setvisibility(view.visible);             }          }     }); } } 

here xml layout

<framelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/ivory" tools:context="com.cube_me.cubeme.accounts.accountviewattachedfragment">  <!-- todo: update blank fragment layout -->  <linearlayout     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:orientation="vertical">      <scrollview         android:layout_width="match_parent"         android:layout_height="wrap_content">          <linearlayout             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:orientation="vertical">              <linearlayout                 android:layout_width="match_parent"                 android:layout_height="wrap_content"                 android:orientation="horizontal"                 android:background="@color/groupbackground">                  <textview                     android:layout_width="350dp"                     android:layout_height="@dimen/accountviewdetail_grouptv_height"                     android:text="inquiries"                     android:gravity="start|center"                     android:paddingleft="@dimen/accountviewdetail_groupleftpadding"                     android:textsize="@dimen/account_grouptextsize"                     android:textcolor="@color/maintext"/>                  <togglebutton                     android:id="@+id/togglebuttontest"                     style="@style/mytoggle"                     android:layout_width="20dp"                     android:layout_height="20dp"                     android:layout_gravity="center"                     android:layout_alignparentright="true" />               </linearlayout>             <linearlayout                 android:id="@+id/toggletestlinearlayout"                 android:layout_width="match_parent"                 android:layout_height="wrap_content"                 android:orientation="horizontal"                 android:visibility="gone">                  <textview                     android:id="@+id/account_companyshippingaddresstextview"                     android:layout_width="@dimen/account_tv_viewwidth"                     android:layout_height="match_parent"                     android:background="@color/textviewbackground"                     android:gravity="right"                     android:paddingright="@dimen/account_tv_rightpadding"                     android:paddingtop="20dp"                     android:text="shipping address"                     android:textcolor="@color/secondarytext"                     android:textsize="@dimen/account_secondarytextsize" />                  <linearlayout                     android:layout_width="match_parent"                     android:layout_height="wrap_content"                     android:orientation="vertical">                      <edittext                         android:id="@+id/account_shippingaddressstreetedittext"                         android:layout_width="match_parent"                         android:layout_height="@dimen/account_viewheight"                         android:background="@drawable/custom_edittext"                         android:hint="street"                         android:imeoptions="actionnext"                         android:inputtype="text"                         android:paddingleft="@dimen/edittext_leftpadding"                         android:textcolor="@color/maintext"                         android:textsize="@dimen/account_maintextsize"                         android:theme="@style/edittexttheme" />                      <edittext                         android:id="@+id/account_shippingaddressbuildingnoedittext"                         android:layout_width="match_parent"                         android:layout_height="@dimen/account_viewheight"                         android:background="@drawable/custom_edittext"                         android:hint="building number"                         android:imeoptions="actionnext"                         android:inputtype="text"                         android:paddingleft="@dimen/edittext_leftpadding"                         android:textcolor="@color/maintext"                         android:textsize="@dimen/account_maintextsize"                         android:theme="@style/edittexttheme" />                      <edittext                         android:id="@+id/account_shippingaddresscityedittext"                         android:layout_width="match_parent"                         android:layout_height="@dimen/account_viewheight"                         android:background="@drawable/custom_edittext"                         android:hint="city"                         android:imeoptions="actionnext"                         android:inputtype="text"                         android:paddingleft="@dimen/edittext_leftpadding"                         android:textcolor="@color/maintext"                         android:textsize="@dimen/account_maintextsize"                         android:theme="@style/edittexttheme" />                      <edittext                         android:id="@+id/account_shippingaddressstateedittext"                         android:layout_width="match_parent"                         android:layout_height="@dimen/account_viewheight"                         android:background="@drawable/custom_edittext"                         android:hint="state"                         android:imeoptions="actionnext"                         android:inputtype="text"                         android:paddingleft="@dimen/edittext_leftpadding"                         android:textcolor="@color/maintext"                         android:textsize="@dimen/account_maintextsize"                         android:theme="@style/edittexttheme" />                      <edittext                         android:id="@+id/account_shippingaddresspoboxedittext"                         android:layout_width="match_parent"                         android:layout_height="@dimen/account_viewheight"                         android:background="@drawable/custom_edittext"                         android:hint="po box"                         android:imeoptions="actionnext"                         android:inputtype="text"                         android:paddingleft="@dimen/edittext_leftpadding"                         android:textcolor="@color/maintext"                         android:textsize="@dimen/account_maintextsize"                         android:theme="@style/edittexttheme" />                      <edittext                         android:id="@+id/account_shippingaddresspincodeedittext"                         android:layout_width="match_parent"                         android:layout_height="@dimen/account_viewheight"                         android:background="@drawable/custom_edittext"                         android:hint="pin code"                         android:imeoptions="actionnext"                         android:inputtype="text"                         android:paddingleft="@dimen/edittext_leftpadding"                         android:textcolor="@color/maintext"                         android:textsize="@dimen/account_maintextsize"                         android:theme="@style/edittexttheme" />                      <edittext                         android:id="@+id/account_shippingaddresscountryedittext"                         android:layout_width="match_parent"                         android:layout_height="@dimen/account_viewheight"                         android:background="@drawable/custom_edittext"                         android:hint="country"                         android:imeoptions="actionnext"                         android:inputtype="text"                         android:paddingleft="@dimen/edittext_leftpadding"                         android:textcolor="@color/maintext"                         android:textsize="@dimen/account_maintextsize"                         android:theme="@style/edittexttheme" />                 </linearlayout>             </linearlayout>         </linearlayout>     </scrollview>   </linearlayout> 

the exception caused

fatal exception: main process: com.cube_me.cubeme, pid: 7869                                                               java.lang.nullpointerexception: attempt invoke virtual method 'void android.widget.togglebutton.setonclicklistener(android.view.view$onclicklistener)' on null object reference                                                                   @ com.cube_me.cubeme.accounts.accountviewdetailsfragment.onactivitycreated(accountviewdetailsfragment.java:42)                                                                   @ android.support.v4.app.fragment.performactivitycreated(fragment.java:2083)                                                                   @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1129)                                                                   @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1286)                                                                   @ android.support.v4.app.backstackrecord.run(backstackrecord.java:758)                                                                   @ android.support.v4.app.fragmentmanagerimpl.execsingleaction(fragmentmanager.java:1632)                                                                   @ android.support.v4.app.backstackrecord.commitnowallowingstateloss(backstackrecord.java:637)                                                                   @ android.support.v4.app.fragmentpageradapter.finishupdate(fragmentpageradapter.java:143)                                                                   @ android.support.v4.view.viewpager.populate(viewpager.java:1237)                                                                   @ android.support.v4.view.viewpager.populate(viewpager.java:1085)                                                                   @ android.support.v4.view.viewpager.onmeasure(viewpager.java:1611)                                                                   @ android.view.view.measure(view.java:17547)                                                                   @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:5535)                                                                   @ android.widget.linearlayout.measurechildbeforelayout(linearlayout.java:1436)                                                                   @ android.widget.linearlayout.measurevertical(linearlayout.java:722)                                                                   @ android.widget.linearlayout.onmeasure(linearlayout.java:613)                                                                   @ android.view.view.measure(view.java:17547)                                                                   @ android.support.v4.widget.drawerlayout.onmeasure(drawerlayout.java:1079)                                                                   @ android.view.view.measure(view.java:17547)                                                                   @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:5535)                                                                   @ android.widget.framelayout.onmeasure(framelayout.java:436)                                                                   @ android.support.v7.widget.contentframelayout.onmeasure(contentframelayout.java:135)                                                                   @ android.view.view.measure(view.java:17547)                                                                   @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:5535)                                                                   @ android.widget.linearlayout.measurechildbeforelayout(linearlayout.java:1436)                                                                   @ android.widget.linearlayout.measurevertical(linearlayout.java:722)                                                                   @ android.widget.linearlayout.onmeasure(linearlayout.java:613)                                                                   @ android.view.view.measure(view.java:17547)                                                                   @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:5535)                                                                   @ android.widget.framelayout.onmeasure(framelayout.java:436)                                                                   @ android.view.view.measure(view.java:17547)                                                                   @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:5535)                                                                   @ android.widget.linearlayout.measurechildbeforelayout(linearlayout.java:1436)                                                                   @ android.widget.linearlayout.measurevertical(linearlayout.java:722)                                                                   @ android.widget.linearlayout.onmeasure(linearlayout.java:613)                                                                   @ android.view.view.measure(view.java:17547)                                                                   @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:5535)                                                                   @ android.widget.framelayout.onmeasure(framelayout.java:436)                                                                   @ com.android.internal.policy.impl.phonewindow$decorview.onmeasure(phonewindow.java:2615)                                                                   @ android.view.view.measure(view.java:17547)                                                                   @ android.view.viewrootimpl.performmeasure(viewrootimpl.java:2015)                                                                   @ android.view.viewrootimpl.measurehierarchy(viewrootimpl.java:1173)                                                                   @ android.view.viewrootimpl.performtraversals(viewrootimpl.java:1379)                                                                   @ android.view.viewrootimpl.dotraversal(viewrootimpl.java:1061)                                                                   @ android.view.viewrootimpl$traversalrunnable.run(viewrootimpl.java:5885)                                                                   @ android.view.choreographer$callbackrecord.run(choreographer.java:767)                                                                   @ android.view.choreographer.docallbacks(choreographer.java:580)                                                                   @ android.view.choreographer.doframe(choreographer.java:550)                                                                   @ android.view.choreographer$framedisplayeventreceiver.run(choreographer.java:753)                                                                   @ android.os.handler.handlecallback(handler.java:739)                                                                   @ android.os.handler.dispatchmessage(handler.java:95)                                                                   @ android.os.looper.loop(looper.java:135)                                                                   @ android.app.activitythread.main(activitythread.java:5254)                                                                   @ java.lang.reflect.method.invoke(native method)                                                                   @ java.lang.reflect.method.invoke(method.java:372)                                                                 @ com.android.internal.o 

you should initialize toggle button in oncreateview method this:

view view; @override public view oncreateview(layoutinflater inflater, viewgroup container,                       bundle savedinstancestate) {      view = inflater.inflate(r.layout.account_view_details_fragment, container, false);     togglebutton = (togglebutton)view.findviewbyid(r.id.togglebuttontest);     return view; } 

Comments