java - Can't hand an ArrayList to out of an AsyncTask into an Activity (Android) -


i try on give arraylist out of asynctask activity. result nullpointerexception.

here ist code

the async task

arraylist<string> liststring = new arraylist<string>();  private class gettingevents extends asynctask<string, void, string>{     protected string doinbackground(string... urls) {          string tablename = maketablename();          try {              string url = "jdbc:mysql://"+server+":"+port+"/"+dbname;             connection = drivermanager.getconnection(url, username, password);             statement statement = null;             string  sqlcommand = null;              databasemetadata md = (databasemetadata) connection.getmetadata();             resultset rsdb = md.gettables(dbname,null,null,null);             while (rsdb.next()){                  arraylist<player> players = new arraylist<player>();                  string currtablename = rsdb.getstring("table_name");                  statement = connection.createstatement();                 sqlcommand = "select * " + currtablename;                 resultset rstb = statement.executequery(sqlcommand);                 while(rstb.next()){                     players.add(new player(rstb.getstring("name"),rstb.getint("money"), rstb.getint("tip")));                 }                  liststring.add(makeeventstring(currtablename, players));              }              connection.close();          }catch (sqlexception sqle){          }          vieweventsactivity.seteventstoview(liststring);          return null;     } } 

the receiving class:

public class vieweventsactivity  extends appcompatactivity {  mysqlhandler mysqlhandler = new mysqlhandler();;  static listview lvshowevents;  protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_viewevents);      lvshowevents = (listview) findviewbyid(r.id.lvshowevents);      mysqlhandler.startgettingevents(); }  public void seteventstoview(arraylist<string> liststringarray){      arrayadapter<string> listadapter = new arrayadapter<string>(vieweventsactivity.this, r.layout.list_items, liststringarray);      lvshowevents.setadapter(listadapter);     lvshowevents.setvisibility(view.visible);  } 

}

and logcat:

01-05 22:14:55.875 32144-32382/de.aintlarry.patsch e/androidruntime: fatal exception: asynctask #1                                                                      process: de.aintlarry.patsch, pid: 32144                                                                      java.lang.runtimeexception: error occurred while executing doinbackground()                                                                          @ android.os.asynctask$3.done(asynctask.java:309)                                                                          @ java.util.concurrent.futuretask.finishcompletion(futuretask.java:354)                                                                          @ java.util.concurrent.futuretask.setexception(futuretask.java:223)                                                                          @ java.util.concurrent.futuretask.run(futuretask.java:242)                                                                          @ android.os.asynctask$serialexecutor$1.run(asynctask.java:234)                                                                          @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1113)                                                                          @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:588)                                                                          @ java.lang.thread.run(thread.java:818)                                                                       caused by: java.lang.nullpointerexception: attempt invoke virtual method 'void de.aintlarry.patsch.vieweventsactivity.seteventstoview()' on null object reference                                                                          @ de.aintlarry.patsch.mysqlhandler$gettingevents.doinbackground(mysqlhandler.java:237)                                                                          @ de.aintlarry.patsch.mysqlhandler$gettingevents.doinbackground(mysqlhandler.java:200)                                                                          @ android.os.asynctask$2.call(asynctask.java:295)                                                                          @ java.util.concurrent.futuretask.run(futuretask.java:237)                                                                          @ android.os.asynctask$serialexecutor$1.run(asynctask.java:234)                                                                           @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1113)                                                                           @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:588)                                                                           @ java.lang.thread.run(thread.java:818)  

i think it's caused wrong type (static, public, etv.) of variable or method. supposition correct?

i can't find mistake.

this line logcat:

caused by: java.lang.nullpointerexception: attempt invoke virtual method 'void de.aintlarry.patsch.vieweventsactivity.seteventstoview()' on null object referenc 

indicates vieweventsactivity null when execute seteventstoview on it. dont see in code vieweventsactivity declared / initialized. if asynctask nested in activity class can access seteventtoview with: vieweventsactivity.this.seteventstoview(liststring); - whats important should onpostexecute of asynctask - executed on ui thread , allowd update views.


Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -