Tôi đang tạo trình quản lý tác vụ. Tôi có tasklist và tôi muốn khi tôi bấm vào tên tasklist cụ thể nếu nó trống thì nó sẽ hoạt động Add Task nhưng nếu nó có 2 hoặc 3 nhiệm vụ thì nó cho tôi thấy những nhiệm vụ đó trong danh sách.Làm cách nào để nhận số hàng trong sqlite bằng Android?
Tôi đang cố gắng đếm trong danh sách. truy vấn cơ sở dữ liệu của tôi là như sau:
public Cursor getTaskCount(long tasklist_Id) {
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor= db.rawQuery("SELECT COUNT (*) FROM " + TABLE_TODOTASK + " WHERE " + KEY_TASK_TASKLISTID + "=?",
new String[] { String.valueOf(tasklist_Id) });
if(cursor!=null && cursor.getCount()!=0)
cursor.moveToNext();
return cursor;
}
Trong hoạt động của tôi:
list_tasklistname.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0,
android.view.View v, int position, long id) {
db = new TodoTask_Database(getApplicationContext());
Cursor c = db.getTaskCount(id);
System.out.println(c.getCount());
if(c.getCount()>0) {
System.out.println(c);
Intent taskListID = new Intent(getApplicationContext(), AddTask_List.class);
task = adapter.getItem(position);
int taskList_id = task.getTaskListId();
taskListID.putExtra("TaskList_ID", taskList_id);
startActivity(taskListID);
}
else {
Intent addTask = new Intent(getApplicationContext(), Add_Task.class);
startActivity(addTask);
}
}
});
db.close();
}
nhưng khi tôi bấm vào tên tasklist nó được trở về 1, số bot nhiệm vụ vào nó.
Việc tải tất cả các hàng là không hiệu quả; sử dụng tốt hơn [queryNumEntries()] (http://developer.android.com/reference/android/database/DatabaseUtils.html#queryNumEntries%28android.database.sqlite.SQLiteDatabase,%20java.lang.String%29). –
Hoàn hảo! Đây là tất cả! – Karra
Cảm ơn, nó đã giúp bạn! – Exceptional