android - Title of ContextMenu from ListView item -
i trying set title of contextmenu selected item in listview. everytime run on emulator, crashes , have force close it. ddms shows uncaught java.lang.nullpointerexception thrown. there problem dbtest.java class? have defined database operations in dbtest.java class.
note: exception thrown on line :-
cursor mcursor = (cursor) getlistadapter().getitem(info.position); please have @ code , point out bugs.
package com.tintin.prototype_2; import android.app.listactivity; import android.content.intent; import android.database.cursor; import android.os.bundle; import android.support.v4.widget.simplecursoradapter; import android.util.log; import android.view.contextmenu; import android.view.contextmenu.contextmenuinfo; import android.view.view; import android.view.view.onclicklistener; import android.widget.adapterview; import android.widget.button; import android.widget.listview; public class contact_la extends listactivity { dbtest db; simplecursoradapter dataadapter; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.check); db = new dbtest(this); displaylist(); } public void onresume(){ cursor newcursor = db.getallcontacts(); dataadapter.changecursor(newcursor); super.onresume(); } public void displaylist(){ cursor cursor = db.getallcontacts(); string columns[] = new string[] {db.name, db.number}; int to[] = new int[] {r.id.textview1, r.id.textview2}; dataadapter = new simplecursoradapter(this, r.layout.check_layout, cursor, columns, to, 0); //listview lv = (listview) findviewbyid(r.id.list); listview lv = getlistview(); lv.setadapter(dataadapter); registerforcontextmenu(lv); button b = (button) findviewbyid(r.id.addcontact); b.setonclicklistener(new onclicklistener() { @override public void onclick(view arg0) { startactivity(new intent(contact_la.this, contact_add.class)); } }); db.close(); } public void oncreatecontextmenu(contextmenu menu, view v, contextmenuinfo menuinfo){ super.oncreatecontextmenu(menu, v, menuinfo); adapterview.adaptercontextmenuinfo info; try{ info = (adapterview.adaptercontextmenuinfo) menuinfo; }catch(classcastexception e){ log.v("bad", "bad info"); return; } cursor mcursor = (cursor) getlistadapter().getitem(info.position); if(mcursor == null)return; menu.setheadertitle(mcursor.getstring(mcursor.getcolumnindex("name"))); menu.add(0, v.getid(), 0, "delete"); } }
try this
try{ info = menuinfo.getmenuinfo();; } catch(classcastexception e){ log.v("bad", "bad info"); return; }
Comments
Post a Comment