android - Null Pointer Exception on custom pageradapter -


the code below adapter viewpager.

    import android.content.context;     import android.support.v4.view.pageradapter;     import android.support.v4.view.viewpager;     import android.view.layoutinflater;     import android.view.view;     import android.view.viewgroup;     import android.widget.linearlayout;     import android.widget.textview;      import com.androidquery.aquery;      public class viewpageradapter2 extends pageradapter {      context context;     string[] image1;     string[] description;       layoutinflater inflater;      public viewpageradapter2(context context, string[] image1,string[] description) {         this.context = context;         this.image1 = image1;         this.description=description;       }      @override     public boolean isviewfromobject(view view, object object) {         return view == ((linearlayout) object);     }      @override     public object instantiateitem(viewgroup container, int position) {           textview des;          inflater = (layoutinflater) context                 .getsystemservice(context.layout_inflater_service);         view itemview = inflater.inflate(r.layout.slider, container,                 false);         des = (textview) itemview.findviewbyid(r.id.slider_des);         des.settext(description[position]);          aquery aq = new aquery(itemview);          aq.id(r.id.imageview1).image(image1[position]);           ((viewpager) container).removeview(itemview);            ((viewpager) container).addview(itemview);          return itemview;     }      @override     public void destroyitem(viewgroup container, int position, object object) {         ((viewpager) container).removeview((linearlayout) object);      }      @override     public int getcount() {         // todo auto-generated method stub         return description.length;      }  } 

the code fragment:

public view oncreateview(layoutinflater inflater, viewgroup container,             bundle savedinstancestate) {         linearlayout mlinearlayout = (linearlayout) inflater.inflate(                 r.layout.home, container, false);          new getfromwebservice().execute();         viewpager1 = (viewpager) mlinearlayout.findviewbyid(r.id.pager);         adapter1= new viewpageradapter2(mlinearlayout.getcontext(),image,title);         viewpager1.setadapter(adapter1);          //listview list = (listview) mlinearlayout.findviewbyid(r.id.listview1);         //onadapter listadapter = new onadapter(getactivity(),id,label,title,image,hrs,posted_date);         //list.setadapter(listadapter);          return mlinearlayout;      } 

my logcat output:

07-31 16:27:05.868: e/androidruntime(1364): fatal exception: main 07-31 16:27:05.868: e/androidruntime(1364): java.lang.runtimeexception: unable start activity componentinfo{com.lyfcha/com.lyfcha.testmainactivity}: java.lang.nullpointerexception 07-31 16:27:05.868: e/androidruntime(1364):     @ android.app.activitythread.performlaunchactivity(activitythread.java:2110) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.app.activitythread.handlelaunchactivity(activitythread.java:2135) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.app.activitythread.access$700(activitythread.java:140) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.app.activitythread$h.handlemessage(activitythread.java:1237) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.os.handler.dispatchmessage(handler.java:99) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.os.looper.loop(looper.java:137) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.app.activitythread.main(activitythread.java:4921) 07-31 16:27:05.868: e/androidruntime(1364):     @ java.lang.reflect.method.invokenative(native method) 07-31 16:27:05.868: e/androidruntime(1364):     @ java.lang.reflect.method.invoke(method.java:511) 07-31 16:27:05.868: e/androidruntime(1364):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1027) 07-31 16:27:05.868: e/androidruntime(1364):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:794) 07-31 16:27:05.868: e/androidruntime(1364):     @ dalvik.system.nativestart.main(native method) 07-31 16:27:05.868: e/androidruntime(1364): caused by: java.lang.nullpointerexception 07-31 16:27:05.868: e/androidruntime(1364):     @ com.lyfcha.viewpageradapter2.getcount(viewpageradapter2.java:69) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.support.v4.view.viewpager.setadapter(viewpager.java:432) 07-31 16:27:05.868: e/androidruntime(1364):     @ com.lyfcha.home1.oncreateview(home1.java:56) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.support.v4.app.fragment.performcreateview(fragment.java:1460) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:911) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1088) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.support.v4.app.backstackrecord.run(backstackrecord.java:682) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.support.v4.app.fragmentmanagerimpl.execpendingactions(fragmentmanager.java:1444) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.support.v4.app.fragmentactivity.onstart(fragmentactivity.java:551) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.app.instrumentation.callactivityonstart(instrumentation.java:1178) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.app.activity.performstart(activity.java:5216) 07-31 16:27:05.868: e/androidruntime(1364):     @ android.app.activitythread.performlaunchactivity(activitythread.java:2083) 07-31 16:27:05.868: e/androidruntime(1364):     ... 11 more 

what ive done: 1. obtained required data json in string arrays. 2. ive written adapter viewpager feed contents it.

where have run problem:

application throws null pointer exception, in oncreateview of fragment stating getcount of adapter throws npe. sure string array's length isn't null (tested in display window in debug perspective).

any appreciated.

you should fill adapter asynctask use data. since getfromwebservice executing in different thread, line

adapter1= new viewpageradapter2(mlinearlayout.getcontext(),image,title); 

will still not have data other thread. so, solution move following lines:

linearlayout mlinearlayout = (linearlayout) inflater.inflate(                 r.layout.home, container, false);          viewpager1 = (viewpager) mlinearlayout.findviewbyid(r.id.pager);         adapter1= new viewpageradapter2(mlinearlayout.getcontext(),image,title);         viewpager1.setadapter(adapter1); 

to onpostexecute() method of asynctask getfromwebservice


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -