Using Android GraphView in a Custom built dialog in a fragment -


i trying add graphview custom built dialog popup, getting nullpointerexception every time.

i have tested both graphview , dialog popup seperately, know both of them correct. can't implement graphview in dialog. stated in headline, of located in fragment,

så here code dialog , graphview:

public void showstatisticwindow(exercise exercise, viewgroup cont) { // graph graphview graph = (graphview) v.findviewbyid(r.id.graph_exercise_statistic);  bargraphseries<datapoint> series = new bargraphseries<datapoint>(new datapoint[] {         new datapoint(0, -2),         new datapoint(1, 5),         new datapoint(2, 3),         new datapoint(3, 2),         new datapoint(4, 6) }); graph.addseries(series);  // create dialog / popup final view popupexercisestatisticview = view.inflate(cont.getcontext(), r.layout.popup_statistic_exercise, null); final alertdialog.builder builder = new alertdialog.builder(cont.getcontext()); final alertdialog alert = builder.create();  alert.settitle("create program"); alert.setview(popupexercisestatisticview); builder.setnegativebutton("close", new dialoginterface.onclicklistener() {     public void onclick(dialoginterface dialog, int which) {         alert.dismiss();     } }); alert.show();  } 

and here xml layout dialog:

<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent" android:layout_height="match_parent"     android:id="@+id/popup_statistic_exercise">      <com.jjoe64.graphview.graphview         android:layout_width="fill_parent"         android:layout_height="fill_parent"         android:id="@+id/graph_exercise_statistic" />      <relativelayout         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:id="@+id/graph_relativelayout">          <textview             android:layout_width="80dp"             android:layout_height="wrap_content"             android:text="sets"             android:id="@+id/sets_names_headline"             android:layout_alignparenttop="true"             android:layout_alignparentright="true"             android:layout_alignparentend="true"             android:background="@color/blue_bg_inputfield"             android:textalignment="viewstart"             android:padding="10dp" />          <linearlayout             android:orientation="horizontal"             android:layout_width="fill_parent"             android:layout_height="wrap_content"             android:layout_alignparentright="true"             android:layout_alignparentend="true"             android:layout_below="@+id/sets_names_headline"             android:layout_alignleft="@+id/sets_names_headline"             android:layout_alignstart="@+id/sets_names_headline"             android:background="@color/blue_bg_inputfield"             android:paddingleft="10dp"             android:paddingtop="3dp"             android:paddingbottom="3dp"             android:id="@+id/sets_names_list"></linearlayout>      </relativelayout>  </relativelayout> 

and lastly, here output console:

java.lang.nullpointerexception             @ com.mobileplatformexam.fragments.statisticexercisesfragment.showstatisticwindow(statisticexercisesfragment.java:153)             @ com.mobileplatformexam.fragments.statisticexercisesfragment$1.ontouch(statisticexercisesfragment.java:87)             @ android.view.view.dispatchtouchevent(view.java:5553)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:1957)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1684)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:1957)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1684)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:1957)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1684)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:1957)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1684)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:1957)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1684)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:1957)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1684)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:1957)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1684)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:1957)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1684)             @ android.view.viewgroup.dispatchtransformedtouchevent(viewgroup.java:1957)             @ android.view.viewgroup.dispatchtouchevent(viewgroup.java:1684)             @ com.android.internal.policy.impl.phonewindow$decorview.superdispatchtouchevent(phonewindow.java:2038)             @ com.android.internal.policy.impl.phonewindow.superdispatchtouchevent(phonewindow.java:1396)             @ android.app.activity.dispatchtouchevent(activity.java:2535)             @ com.android.internal.policy.impl.phonewindow$decorview.dispatchtouchevent(phonewindow.java:1986)             @ android.view.view.dispatchpointerevent(view.java:5738)             @ android.view.viewrootimpl.deliverpointerevent(viewrootimpl.java:2900)             @ android.view.viewrootimpl.handlemessage(viewrootimpl.java:2476)             @ android.view.viewrootimpl.processinputevents(viewrootimpl.java:849)             @ android.view.viewrootimpl.performtraversals(viewrootimpl.java:863)             @ android.view.viewrootimpl.handlemessage(viewrootimpl.java:2452)             @ android.os.handler.dispatchmessage(handler.java:99)             @ android.os.looper.loop(looper.java:137)             @ android.app.activitythread.main(activitythread.java:4476)             @ java.lang.reflect.method.invokenative(native method)             @ java.lang.reflect.method.invoke(method.java:511)             @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:816)             @ com.android.internal.os.zygoteinit.main(zygoteinit.java:583)             @ dalvik.system.nativestart.main(native method) 

the code on line 153 is:

 graph.addseries(series); 

i hope have idea on wrong. if more information needed, ask.

any appreciated.

it's been 1 year since question asked, i'll leave answer in case need it.

according xml file, graphview element want element of popup_statistic_exercise layout. so, need graphview object after inflate view of dialog uses popup_statistic_exercise layout.

// create dialog / popup final view popupexercisestatisticview = view.inflate(cont.getcontext(), r.layout.popup_statistic_exercise, null);  // graph graphview graph = (graphview) popupexercisestatisticview.findviewbyid(r.id.graph_exercise_statistic);  bargraphseries<datapoint> series = new bargraphseries<datapoint>(new datapoint[] {         new datapoint(0, -2),         new datapoint(1, 5),         new datapoint(2, 3),         new datapoint(3, 2),         new datapoint(4, 6) }); graph.addseries(series);  final alertdialog.builder builder = new alertdialog.builder(cont.getcontext()); final alertdialog alert = builder.create();  alert.settitle("create program"); alert.setview(popupexercisestatisticview); builder.setnegativebutton("close", new dialoginterface.onclicklistener() {     public void onclick(dialoginterface dialog, int which) {         alert.dismiss();     } }); alert.show(); 

Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -