java - SetLayoutParams null pointer execption -
i getting null pointer exeption when im trying debug app. think becuse in fragment oncreateview() method, container null , when android.view.view.setlayoutparams(android.view.viewgroup$layoutparams) called there exeption. dont know why container s null. added fragment activity in xml file , when run app in "run mode" fragment displayed in activity. see error when try debug.
activity:
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar); setsupportactionbar(toolbar); // movieposterfragment = new movieposterfragment(); movieposterfragment = (movieposterfragment)getsupportfragmentmanager().findfragmentbyid(r.id.fragment); fetchmovies(1); }
activity xml:
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.coordinatorlayout android:id="@+id/container" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitssystemwindows="true" tools:context=".mainactivity"> <android.support.design.widget.appbarlayout android:layout_height="wrap_content" android:layout_width="match_parent" android:theme="@style/apptheme.appbaroverlay"> <android.support.v7.widget.toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionbarsize" android:background="?attr/colorprimary" app:popuptheme="@style/apptheme.popupoverlay" /> </android.support.design.widget.appbarlayout> <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/fragment" android:name="com.example.user.popmovie.fragments.movieposterfragment" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:layout="@layout/fragment_main" /> </android.support.design.widget.coordinatorlayout>
fragment:
@override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view rootview = inflater.inflate(r.layout.fragment_main, container, false); mlayoutmanager = new gridlayoutmanager(getactivity(),num_columns); mrecyclerview = (recyclerview)rootview.findviewbyid(r.id.pop_movies_recycler_view); mrecyclerview.sethasfixedsize(true); mrecyclerview.setlayoutmanager(mlayoutmanager); //set adapter empty data gridadapter = new gridviewadapter(getcontext(),movieitemarray,mrecyclerview); mrecyclerview.setadapter(gridadapter); // mprogresswheel = (progresswheel) rootview.findviewbyid(android.r.id.progress); endlessscroll(); activity act = getactivity(); int =0; // rootview.setlayoutparams(new viewgroup.layoutparams(viewgroup.layoutparams.match_parent,viewgroup.layoutparams.match_parent)); if (container == null) { log.i("in movieposterfragment", "oncreateview(): container = null"); } else { log.i("in movieposterfragment", "oncreateview(): container != null"); } return rootview; }
fragment xml:
<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:id = "@+id/fragment" android:paddingleft="0dp" android:paddingright="0dp" android:paddingtop="0dp" android:paddingbottom="0dp" tools:showin="@layout/activity_main" tools:context=".movieposterfragment"> <!-- add recyclerview fragment layout--> <android.support.v7.widget.recyclerview android:id="@+id/pop_movies_recycler_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent"/> </framelayout>
stack trace
03-06 20:33:20.675 27556-27556/? e/zygote: mountemulatedstorage() 03-06 20:33:20.675 27556-27556/? e/zygote: v2 03-06 20:33:20.695 27556-27556/? e/selinux: [debug] get_category: variable seinfo: default sensitivity: null, cateogry: null 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: fatal exception: main 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: process: com.example.user.popmovie, pid: 27556 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: java.lang.runtimeexception: unable start activity componentinfo{com.example.user.popmovie/com.example.user.popmovie.activities.mainactivity}: java.lang.nullpointerexception: attempt invoke virtual method 'void android.view.view.setlayoutparams(android.view.viewgroup$layoutparams)' on null object reference 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread.performlaunchactivity(activitythread.java:2702) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread.handlelaunchactivity(activitythread.java:2767) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread.access$900(activitythread.java:177) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread$h.handlemessage(activitythread.java:1449) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.os.handler.dispatchmessage(handler.java:102) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.os.looper.loop(looper.java:145) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread.main(activitythread.java:5951) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ java.lang.reflect.method.invoke(native method) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ java.lang.reflect.method.invoke(method.java:372) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1399) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1194) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: caused by: java.lang.nullpointerexception: attempt invoke virtual method 'void android.view.view.setlayoutparams(android.view.viewgroup$layoutparams)' on null object reference 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.view.layoutinflater.parseinclude(layoutinflater.java:928) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.view.layoutinflater.rinflate(layoutinflater.java:809) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.view.layoutinflater.inflate(layoutinflater.java:518) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.view.layoutinflater.inflate(layoutinflater.java:415) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.view.layoutinflater.inflate(layoutinflater.java:366) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.support.v7.app.appcompatdelegateimplv7.setcontentview(appcompatdelegateimplv7.java:257) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.support.v7.app.appcompatactivity.setcontentview(appcompatactivity.java:110) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ com.example.user.popmovie.activities.mainactivity.oncreate(mainactivity.java:38) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activity.performcreate(activity.java:6289) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1119) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread.performlaunchactivity(activitythread.java:2655) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread.handlelaunchactivity(activitythread.java:2767) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread.access$900(activitythread.java:177) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread$h.handlemessage(activitythread.java:1449) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.os.handler.dispatchmessage(handler.java:102) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.os.looper.loop(looper.java:145) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ android.app.activitythread.main(activitythread.java:5951) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ java.lang.reflect.method.invoke(native method) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ java.lang.reflect.method.invoke(method.java:372) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1399) 03-06 20:34:57.049 27556-27556/com.example.user.popmovie e/androidruntime: @ com.android.internal.os.zygoteinit.main(zygoteinit.java:1194)
Comments
Post a Comment