java - Arraylist not working with android -


i got problem , can't find anywhere. i'am making quiz app. , got mainactivity here:

public class mainactivity extends activity {      list<vragen> queslist;     int score=0;     int qid=0;     vragen currentq;     textview txtvragen;     radiobutton rda, rdb, rdc;     button butvolgende;     @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);         dbhelper db=new dbhelper(this);         queslist=db.getallvragen();         currentq=queslist.get(qid);         txtvragen=(textview)findviewbyid(r.id.txtvraag);         rda=(radiobutton)findviewbyid(r.id.antwoord1);         rdb=(radiobutton)findviewbyid(r.id.antwoord2);         rdc=(radiobutton)findviewbyid(r.id.antwoord3);         butvolgende=(button)findviewbyid(r.id.btnvolgende);         setvragenview();         butvolgende.setonclicklistener(new view.onclicklistener() {                  public void onclick(view v) {                 radiogroup grp=(radiogroup)findviewbyid(r.id.grpantwoord);                 radiobutton antwoord=(radiobutton)findviewbyid(grp.getcheckedradiobuttonid());                 log.d("yourans", currentq.getantwoord()+" "+antwoord.gettext());                 if(currentq.getantwoord().equals(antwoord.gettext()))                 {                     score++;                     log.d("score", "your score"+score);                 }                 if(qid<5){                                       currentq=queslist.get(qid);                     setvragenview();                 }else{                     intent intent = new intent(mainactivity.this, resultactivity.class);                     bundle b = new bundle();                     b.putint("score", score); //your score                     intent.putextras(b); //put score next intent                     startactivity(intent);                     finish();                 }             }         });     }     @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.activity_main, menu);         return true;     }     private void setvragenview()     {         txtvragen.settext(currentq.getvraag());         rda.settext(currentq.getopt1());         rdb.settext(currentq.getopt2());         rdc.settext(currentq.getopt3());         qid++;     } } 

here dbhelper , questions in there:

public class dbhelper extends sqliteopenhelper {     private static final int database_version = 1;     // database name     private static final string database_name = "dbquiz";     // tasks table name     private static final string table_quest = "quest";     // tasks table columns names     private static final string key_id = "id";     private static final string key_vraag = "vraag";     private static final string key_antwoord = "antwoord"; //correct option     private static final string key_opt1= "opt1"; //option 1     private static final string key_opt2= "opt2"; //option 2     private static final string key_opt3= "opt3"; //option 3     private sqlitedatabase dbase;     public dbhelper(context context) {         super(context, database_name, null, database_version);     }     @override     public void oncreate(sqlitedatabase db) {         dbase=db;         string sql = "create table if not exists " + table_quest + " ( "                 + key_id + " integer primary key autoincrement, " + key_vraag                 + " text, " + key_antwoord+ " text, "+key_opt1 +" text, "                 +key_opt2 +" text, "+key_opt3+" text)";         db.execsql(sql);                 addvragen();         //db.close();     }     private void addvragen()     {         vragen q1=new vragen("which company largest manufacturer" +                 " of network equipment?","hp", "ibm", "cisco", "cisco");         this.addvraag(q1);         vragen q2=new vragen("which of following not " +                 "an operating system?", "suse", "bios", "dos", "bios");         this.addvraag(q2);         vragen q3=new vragen("which of following fastest" +                 " writable memory?","ram", "flash","register","register");         this.addvraag(q3);         vragen q4=new vragen("which of following device" +                 " regulates internet traffic?", "router", "bridge", "hub","router");         this.addvraag(q4);         vragen q5=new vragen("which of following not an" +                 " interpreted language?","ruby","python","basic","basic");         this.addvraag(q5);      }     @override     public void onupgrade(sqlitedatabase db, int oldv, int newv) {         // drop older table if existed         db.execsql("drop table if exists " + table_quest);         // create tables again         oncreate(db);     }     // adding new question     public void addvraag(vragen quest) {         //sqlitedatabase db = this.getwritabledatabase();         contentvalues values = new contentvalues();         values.put(key_vraag, quest.getvraag());          values.put(key_antwoord, quest.getantwoord());         values.put(key_opt1, quest.getopt1());         values.put(key_opt2, quest.getopt2());         values.put(key_opt3, quest.getopt3());         // inserting row         dbase.insert(table_quest, null, values);             }     public list<vragen> getallvragen() {         list<vragen> queslist = new arraylist<vragen>();         // select query         string selectquery = "select  * " + table_quest;         dbase=this.getreadabledatabase();         cursor cursor = dbase.rawquery(selectquery, null);         // looping through rows , adding list         if (cursor.movetofirst()) {             {                 vragen quest = new vragen();                 quest.setid(cursor.getint(0));                 quest.setvraag(cursor.getstring(1));                 quest.setantwoord(cursor.getstring(2));                 quest.setopt1(cursor.getstring(3));                 quest.setopt2(cursor.getstring(4));                 quest.setopt3(cursor.getstring(5));                 queslist.add(quest);             } while (cursor.movetonext());         }         // return quest list         return queslist;     }     public int rowcount()     {         int row=0;         string selectquery = "select  * " + table_quest;         sqlitedatabase db = this.getwritabledatabase();         cursor cursor = db.rawquery(selectquery, null);         row=cursor.getcount();         return row;     } } 

and here logcat:

08-28 14:33:58.440: w/dalvikvm(21832): threadid=1: thread exiting uncaught exception (group=0x416e32a0) 08-28 14:33:58.460: e/androidruntime(21832): fatal exception: main 08-28 14:33:58.460: e/androidruntime(21832): java.lang.indexoutofboundsexception: invalid index 1, size 1 08-28 14:33:58.460: e/androidruntime(21832):    @ java.util.arraylist.throwindexoutofboundsexception(arraylist.java:251) 08-28 14:33:58.460: e/androidruntime(21832):    @ java.util.arraylist.get(arraylist.java:304) 08-28 14:33:58.460: e/androidruntime(21832):    @ com.laurenswuytsjordipapen.cultural.pursuit.mainactivity$1.onclick(mainactivity.java:55) 08-28 14:33:58.460: e/androidruntime(21832):    @ android.view.view.performclick(view.java:4262) 08-28 14:33:58.460: e/androidruntime(21832):    @ android.view.view$performclick.run(view.java:17421) 08-28 14:33:58.460: e/androidruntime(21832):    @ android.os.handler.handlecallback(handler.java:615) 08-28 14:33:58.460: e/androidruntime(21832):    @ android.os.handler.dispatchmessage(handler.java:92) 08-28 14:33:58.460: e/androidruntime(21832):    @ android.os.looper.loop(looper.java:137) 08-28 14:33:58.460: e/androidruntime(21832):    @ android.app.activitythread.main(activitythread.java:4944) 08-28 14:33:58.460: e/androidruntime(21832):    @ java.lang.reflect.method.invokenative(native method) 08-28 14:33:58.460: e/androidruntime(21832):    @ java.lang.reflect.method.invoke(method.java:511) 08-28 14:33:58.460: e/androidruntime(21832):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1038) 08-28 14:33:58.460: e/androidruntime(21832):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:805) 08-28 14:33:58.460: e/androidruntime(21832):    @ dalvik.system.nativestart.main(native method) 

can please me i'm stuck , need finished.

thanks in advance!

java.lang.indexoutofboundsexception: invalid index 1, size 1 

means tried second element in arraylist had 1 element. means when do

queslist=db.getallvragen(); 

you 1 result


Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -