android - Reading and Writing to a SQLITE3 database from a ListView populated by a CursorAdapter -


i made android app online program part of. app supposed track inventory. app uses cursoradapter populate listview 3 inventory details - productname, product price , quantity. part of assignment add button on each list item when clicked quantity decreased 1 , new value stored in database. problem having each listitem populated cursoradapter, code not in activity. know how read , write database activity not cursoradapter. assuming cursoradapter need put code because place there logic textviews shown in each list item. tried has failed. unfortunately can't show have tried because @ point decided delete , start scratch.

here each list item should like. image of list item

here code cursoradapter:

public class inventorycursoradapter extends cursoradapter {  private uri mcurrentinventoryuri;    /**  * constructs new {@link inventorycursoradapter}.  *  * @param context context  * @param c       cursor data.  */ public inventorycursoradapter(context context, cursor c) {     super(context, c, 0 /* flags */); }  /**  * makes new blank list item view. no data set (or bound) views yet.  *  * @param context app context  * @param cursor  cursor data. cursor  *                moved correct position.  * @param parent  parent new view attached  * @return newly created list item view.  */ @override public view newview(context context, cursor cursor, viewgroup parent) {     // inflate list item view using layout specified in list_item.xml     return layoutinflater.from(context).inflate(r.layout.list_item, parent, false); }   @override public void bindview(view view, context context, cursor cursor) {       // find individual views want modify in list item layout     textview nametextview = (textview) view.findviewbyid(r.id.name);     final textview quantitytextview = (textview) view.findviewbyid(r.id.quantity);     textview pricetextview = (textview) view.findviewbyid(r.id.price);        // find columns of product attributes we're interested in     int namecolumnindex = cursor.getcolumnindex(inventoryentry.column_product_name);     int quantitycolumnindex = cursor.getcolumnindex(inventoryentry.column_product_quantity);     int pricecolumnindex = cursor.getcolumnindex(inventoryentry.column_product_price);      // read product attributes cursor current product     string productname = cursor.getstring(namecolumnindex);     //string productname = "productname";     int productquantity = cursor.getint(quantitycolumnindex);     int productprice = cursor.getint(pricecolumnindex);        if (textutils.isempty(productname)) {         productname = context.getstring(r.string.unknown_product);     }       // update textviews attributes current product     nametextview.settext(productname);     quantitytextview.settext(integer.tostring(productquantity));     pricetextview.settext(" $" + integer.tostring(productprice));    } 

}

you can see can use cursor , display data listview, don't know how update quantity, , save database. when tried adding button view binded listview, other touch functionalities had set click on list doesn't work (touching on list item opens detailed screen more product info).

i tried including functionality main activity since button isn't located in activity when called getviewbyid ended being null , app crashed. included enough code snippet, not sure else have been relevant. in addition posted have 2 other activity (main activity , activity edit details of inventory), have database helper files reading , writing database.

to make easier on reading this, there 2 major obstacles facing. 1). place button. using layout called cursoradapter best place? 2). put code update database? using cursoradapter provided challenges me.

thanks in advance..


Comments

Popular posts from this blog

javascript - Clear button on addentry page doesn't work -

c# - Selenium Authentication Popup preventing driver close or quit -

tensorflow when input_data MNIST_data , zlib.error: Error -3 while decompressing: invalid block type -