android - i am getting an error while calling a method and storing its object -


this question has answer here:

i'm trying create activity can select particular row listview being retrived database can manipulate when i'm selecting row application unfortunately stops.

here getting android.content.res.resources$notfoundexception: string resource id #0x0 while trying select row database i'm getting runtime exception.

this databasehelper class

databasehelper.java  package com.example.ashwanislaptop.expensemanager;  import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log;  import java.util.arraylist; import java.util.list; public class databasehelper extends sqliteopenhelper {      public static final string database_name="transaction.db";     public static final string table_name="transaction_table";     public static final string col_1="id";     public static final string col_2="price";     public static final string col_3="date";     public static final string col_4="time";     public static final string col_5="description";     public static final string col_6="category";     public static final string col_7="payment_mode";     private static final string tag="databasehelper";       public databasehelper(context context) {         super(context, database_name, null, 1);      }      @override     public void oncreate(sqlitedatabase db) {         db.execsql("create table if not exists "+table_name+"(id integer primary key autoincrement,price integer not null,date text not null,time text not null,description text not null,category text not null,payment_mode text not null);");       }      @override     public void onupgrade(sqlitedatabase db, int i, int i1) {         db.execsql("drop table if exists transaction_table");         oncreate(db);     }        void insertdata(transaction t){         sqlitedatabase db=getwritabledatabase();         contentvalues cv=new contentvalues();         cv.put(col_2,t.getprice());         cv.put(col_3,t.getdate());         cv.put(col_4,t.gettime());         cv.put(col_5,t.getdescription());         cv.put(col_6,t.getcategory());         cv.put(col_7,t.getpayment_mode());         db.insert(table_name,null,cv);         db.close();     }     public arraylist<transaction> getalltransaction() {          sqlitedatabase db = getreadabledatabase();         log.i(tag, "getalltransaction: getting transaction record");         cursor c = db.rawquery("select * transaction_table", null);         if (c.movetofirst()) {             arraylist<transaction> list = new arraylist<>();             {                 transaction t = new transaction(c.getstring(1),c.getstring(2), c.getstring(5));                 list.add(t);                 log.i(tag, "getalltranscrecords: 1 record retrieved");              }while (c.movetonext());             return list;         }         else         {             log.i(tag,"no record found");             db.close();             return null;         }     } [getting runtime error while calling transaction_detail.java]       ***transaction getalltransactionssecond(int idd) {         log.i(tag, "getalltransactionssecond: "+idd);         sqlitedatabase db = getreadabledatabase();      log.i(tag, "getalltransaction: getting transaction record of id "+idd);     cursor c = db.rawquery("select * transaction_table id="+idd+";", null); 

[the execution crashes @ point how send data transaction_details can print data in textviews] transaction t = new transaction(c.getstring(1),c.getstring(2),c.getstring(3),c.getstring(4),c.getstring(5),c.getstring(6)); log.i(tag, "getalltranscrecords: 1 record retrieved"); // log.i(tag,"no record found"); db.close(); return t; }***

    public arraylist<transaction> getalltransactioncategorywise(){          sqlitedatabase db=getreadabledatabase();         log.i(tag,"getalltransaction: getting transaction record");         cursor c=db.rawquery("select * transaction_table order "+col_6+";",null);         if(c.movetofirst()){             arraylist<transaction> list=new arraylist<>();             do{                 transaction t=new transaction(c.getstring(1),c.getstring(2),c.getstring(5));                 list.add(t);                 log.i(tag,"getalltranscrecords: 1 record retrieved");              }while (c.movetonext());             return list;         }         else         {             log.i(tag,"no record found");             db.close();             return null;         }     }     public arraylist<transaction> getalltransactiondatewise(){          sqlitedatabase db=getreadabledatabase();         log.i(tag,"getalltransaction: getting transaction record");         cursor c=db.rawquery("select * transaction_table order "+col_3+" desc",null);         if(c.movetofirst()){             arraylist<transaction> list=new arraylist<>();             do{                 transaction t=new transaction(c.getstring(1),c.getstring(2),c.getstring(5));                 list.add(t);                 log.i(tag,"getalltranscrecords: 1 record retrieved");              }while (c.movetonext());             return list;         }         else         {             log.i(tag,"no record found");             db.close();             return null;         }     }  } 

[this transaction details class]

transaction detail.java package com.example.ashwanislaptop.expensemanager;  import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.util.log; import android.widget.textview;  import java.util.arraylist;  public class transaction_details extends appcompatactivity {     private textview txtid,txtprice,txtdate,txttime,txtcateg,txtpayment,txtdecription;     private databasehelper ta;     public static final string tag="trasaction detail";     public  int  sentid;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_transaction__details);         log.i(tag, "oncreate: before intent");         intent i1=getintent();         sentid=i1.getintextra("string",0);         log.i(tag, "oncreate: after intent "+sentid);          txtid=(textview)findviewbyid(r.id.txtid);         txtdate=(textview)findviewbyid(r.id.txtdate);         txttime=(textview)findviewbyid(r.id.txttime);         txtcateg=(textview)findviewbyid(r.id.txtcateg);         txtpayment=(textview)findviewbyid(r.id.txtpayment);         txtdecription=(textview)findviewbyid(r.id.txtdescription);         ta=new databasehelper(this); 

[ i'm able retrieve data]

        **transaction details=ta.getalltransactionssecond(sentid);**            txtid.settext(details.getid());         txtdate.settext(details.getdate());         txttime.settext(details.gettime());         txtcateg.settext(details.getcategory());         txtprice.settext(details.getprice());         txtpayment.settext(details.getpayment_mode());         txtdecription.settext(details.getdescription());     } }  transaction.java package com.example.ashwanislaptop.expensemanager;   public class transaction  {     private int id;     private string price,date,time,description,category,payment_mode;      public transaction() {     }      public transaction(int id, string price, string date, string time, string description, string category, string payment_mode) {         this.id = id;         this.price = price;         this.date = date;         this.time = time;         this.description = description;         this.category = category;         this.payment_mode = payment_mode;     }      public transaction(string price, string date, string time, string description, string category, string payment_mode) {         this.price = price;         this.date = date;         this.time = time;         this.description = description;         this.category = category;         this.payment_mode = payment_mode;     }      public transaction(string price, string date, string category) {         this.category = category;         this.date = date;         this.price = price;     }      public int getid() {         return id;     }      public void setid(int id) {         this.id = id;     }      public string getprice() {         return price;     }      public void setprice(string price) {         this.price = price;     }      public string getdate() {         return date;     }      public void setdate(string date) {         this.date = date;     }      public string gettime() {         return time;     }      public void settime(string time) {         this.time = time;     }      public string getdescription() {         return description;     }      public void setdescription(string description) {         this.description = description;     }      public string getcategory() {         return category;     }      public void setcategory(string category) {         this.category = category;     }      public string getpayment_mode() {         return payment_mode;     }      public void setpayment_mode(string payment_mode) {         this.payment_mode = payment_mode;     } } 

[this alltransaction class]

alltansactionfragment.java package com.example.ashwanislaptop.expensemanager;  import android.content.intent; import android.os.bundle; import android.support.annotation.nullable; import android.support.v4.app.fragment; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.listview; import android.widget.toast;  import java.text.simpledateformat; import java.util.arraylist; import java.util.collection; import java.util.collections; import java.util.comparator; import java.util.list;  /**  * created welcome on 06-aug-16.  */ public class alltransactionfragment extends fragment { private static final string tag="alltransactionfragment";     private listview listview;     private databasehelper ta=null;     //private arrayadapter<string> aa=null;      @nullable     @override     public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) {         view vu=inflater.inflate(r.layout.alltransactionlistview,container,false);         listview=(listview)vu.findviewbyid(r.id.lvtransaction);         ta=new databasehelper(getactivity());         log.i(tag, "oncreateview:"+ta);         arraylist<transaction> list=ta.getalltransactiondatewise();          collections.sort(list, new comparator<transaction>() {             @override             public int compare(transaction t1, transaction t2) {                 simpledateformat dateformat=new simpledateformat("dd-mm-yyyy");                 if(t1.getdate()==null || t2.getdate()==null)                     return 0;                 return t1.getdate().compareto(t2.getdate());             }         });          transactionlistadapter aa=new transactionlistadapter(getactivity(),list);         listview.setadapter(aa);         listview.setonitemclicklistener(new adapterview.onitemclicklistener() {             @override             public void onitemclick(adapterview<?> adapterview, view view, int i, long l) {                 log.i(tag, " onitemclick: ");                 toast.maketext(getactivity(),"clicked on:"+i,toast.length_short).show();                 intent ii=new intent(getactivity(),transaction_details.class);                 ii.putextra("string",i);                 log.i(tag, "onitemclick: after");                 startactivity(ii);             }         });         return vu;     } } 

initialize databasehelper. null.


Comments