android - getCount() NullPointerException Fragment -


i'm newbie @ android programming, please me: need count of specific record, code:

public int countfiltered(string selection){     cursor cursor = database.query(denverdbopenhelper.table_denvers, denverallcolumns, selection, null, null, null, null);     log.i(logtag, "get " + cursor.getcount() + " rows");      int countitem = cursor.getcount();     if(cursor==null) {         return 0;     }else         return countitem; } 

and call on other activity:

public view oncreateview(layoutinflater inflater, viewgroup container,                          bundle savedinstancestate) {     // inflate layout fragment     view rootview = inflater.inflate(r.layout.fragment_baby, container, false);      txtpass = (textview)rootview.findviewbyid(r.id.txtpass);     int countpass = datasource.countfiltered("score == 1");     txtpass.settext(countpass);} 

countpass show nullpinterexception

and score column type integer, dbopenhelper:

public class denverdbopenhelper extends sqliteopenhelper {  private static final string logtag = "litledenver";  private static final string database_name = "db_denver"; private static final int database_version = 1;  public static final string table_denvers = "denvers"; public static final string column_id = "itemid"; public static final string column_category = "category"; public static final string column_title = "title"; public static final string column_desc = "description"; public static final string column_detail = "detail"; public static final string column_image = "image"; public static final string column_min = "min"; public static final string column_max = "max"; public static final string column_score = "score"; public static final string column_status = "status";  private static final string table_create =         "create table " + table_denvers + " (" +                 column_id + " integer primary key autoincrement, " +                 column_category + " text, " +                 column_title + " text, " +                 column_desc + " text, " +                 column_detail + " text, " +                 column_image + " text, " +                 column_min + " integer, " +                 column_max + " integer, " +                 column_score + " integer, " +                 column_status + " integer " +                 ")"; 

you want use query follow selectionargs (which have null) string array of value(s) looking (think clause). cleaned code not cause npes in case cursor null calling getcount() on null cursor

public int countfiltered(string selection, string argvalue){     string selectionarg = new string[] {  argvalue };                                          cursor cursor = database.query(denverdbopenhelper.table_denvers,                                       denverallcolumns,                                     selection,                                     selectionarg,                                     null, null, null);     if(cursor==null) {         return 0;     } else {         return cursor.getcount();     } }  public view oncreateview(layoutinflater inflater, viewgroup container,                          bundle savedinstancestate) {     // inflate layout fragment     view rootview = inflater.inflate(r.layout.fragment_baby, container, false);      txtpass = (textview)rootview.findviewbyid(r.id.txtpass);     int countpass = datasource.countfiltered("score = ?", "1");     log.i(logtag, "get countpass = " + countpass);     txtpass.settext(countpass); } 

Comments

Popular posts from this blog

python - pip install -U PySide error -

arrays - C++ error: a brace-enclosed initializer is not allowed here before ‘{’ token -

cytoscape.js - How to add nodes to Dagre layout with Cytoscape -