insert in database in fragment by button in android studio -


my app contain fragment class , db class , mainactivity class.......when click insert button show "data not inserted",,,,,,i not understand......where problem...........this code: mainactivity class:

package ir.hashem.navfragtest;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);     toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar);     setsupportactionbar(toolbar);      floatingactionbutton fab = (floatingactionbutton) findviewbyid(r.id.fab);     fab.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view view) {             snackbar.make(view, "replace own action", snackbar.length_long)                     .setaction("action", null).show();         }     });      drawerlayout drawer = (drawerlayout) findviewbyid(r.id.drawer_layout);     actionbardrawertoggle toggle = new actionbardrawertoggle(             this, drawer, toolbar, r.string.navigation_drawer_open, r.string.navigation_drawer_close);     drawer.setdrawerlistener(toggle);     toggle.syncstate();      navigationview navigationview = (navigationview) findviewbyid(r.id.nav_view);     navigationview.setnavigationitemselectedlistener(this); }  @override public void onbackpressed() {     drawerlayout drawer = (drawerlayout) findviewbyid(r.id.drawer_layout);     if (drawer.isdraweropen(gravitycompat.start)) {         drawer.closedrawer(gravitycompat.start);     } else {         super.onbackpressed();     } }  @override public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.main, menu);     return true; }  @override public boolean onoptionsitemselected(menuitem item) {     // handle action bar item clicks here. action bar     // automatically handle clicks on home/up button, long     // specify parent activity in androidmanifest.xml.     int id = item.getitemid();      //noinspection simplifiableifstatement     if (id == r.id.action_settings) {         return true;     }      return super.onoptionsitemselected(item); }  @suppresswarnings("statementwithemptybody") @override public boolean onnavigationitemselected(menuitem item) {     // handle navigation view item clicks here.     int id = item.getitemid();      if (id == r.id.nav_camera) {         fr1 fragment = new fr1();         android.support.v4.app.fragmenttransaction fragmenttransaction = getsupportfragmentmanager().begintransaction();         fragmenttransaction.replace(r.id.fragment11, fragment);         fragmenttransaction.commit();       } else if (id == r.id.nav_gallery) {      } else if (id == r.id.nav_slideshow) {      }      drawerlayout drawer = (drawerlayout) findviewbyid(r.id.drawer_layout);     drawer.closedrawer(gravitycompat.start);     return true; } } 

fragment class

package ir.hashem.navfragtest;  public class fr1 extends fragment {  public fr1() {     // required empty public constructor }  @override public view oncreateview(layoutinflater inflater, viewgroup container,                          bundle savedinstancestate) {     v=inflater.inflate(r.layout.fr1, container, false);     mydb=new database(getactivity());      btninsert= (button) v.findviewbyid(r.id.btninsert);     btndelete= (button) v.findviewbyid(r.id.btndelete);     name= (edittext) v.findviewbyid(r.id.etjens);     // id= (edittext) v.findviewbyid(r.id.edittext3);      btndelete.setonclicklistener(new view.onclicklistener()     {         @override         public void onclick(view view)         {             id= (edittext) v.findviewbyid(r.id.etid);             integer isdeleted=mydb.delete(id.gettext().tostring());             if(isdeleted>0)                 toast.maketext(fr1.this.getactivity(), "data deleted", toast.length_long).show();             else                 toast.maketext(fr1.this.getactivity(), "data not deleted", toast.length_long).show();         }     });      btninsert.setonclicklistener(new view.onclicklistener()     {         @override         public void onclick(view view)         {             string n=name.gettext().tostring();             boolean isinserted = mydb.inserdata(n);             if (isinserted == true)                 toast.maketext(fr1.this.getactivity(), "data inserted", toast.length_long).show();             else                 toast.maketext(fr1.this.getactivity(), "data not inserted", toast.length_long).show();         }     });      return v; } }  . . . 

database class

package ir.hashem.navfragtest;  public class database extends sqliteopenhelper{  public static final string database_name="market"; public static final string tablename="jens"; public static final string col1="id"; public static final string col2="name";  public database(context context) {     super(context, database_name, null, 1); }  @override public void oncreate(sqlitedatabase db) {     db.execsql("create table jens (id integer primary key autoincrement,name text not null)"); }  @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) {     db.execsql("drop table if exists jens");     oncreate(db); }  public boolean inserdata(string n) {     sqlitedatabase db=this.getwritabledatabase();     contentvalues contentvalues=new contentvalues();     contentvalues.put("name",n);     long result=db.insert("jens", null, contentvalues);     if (result == -1)         return false;     else         return true; }  public cursor getalldata() {     sqlitedatabase db=this.getwritabledatabase();     cursor res=db.rawquery("select * jens",null);     return res; } public boolean updatedata(string id,string n) {     sqlitedatabase db=this.getwritabledatabase();     contentvalues contentvalues=new contentvalues();     contentvalues.put(col1,id);     contentvalues.put(col2,n);     db.update(tablename,contentvalues,"id = ?",new string[] {id});     return true; } public integer delete(string id) {     sqlitedatabase db=this.getwritabledatabase();     return db.delete(tablename,"id = ?",new string[] {id}); } } 

use database instance. add database class.

private static database databaseinstance = null;  public static database getinstance(context context) {      if (databaseinstance == null) {          databaseinstance = new database(context);      }      return databaseinstance;  } 

in fragment class initialize database variable this

mydb = database.getinstance(getactivity()); 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -