如何采用Android获得行计数的源码?源码、Android

2023-09-05 10:16:28 作者:Laity (俗人)

我创建任务管理器。我有任务列表,我想,当我点击特定的任务列表的名称,如果为空则继续添加任务活动,但如果它有2个或3个任务,那么就说明我这些任务到它以列表形式。

我试图让列表计数。我的数据库查询是这样的:

 公开光标getTaskCount(长tasklist_Id){

    SQLiteDatabase DB = this.getWritableDatabase();
    光标光标= db.rawQuery(SELECT COUNT(*)FROM+ TABLE_TODOTASK +WHERE+ KEY_TASK_TASKLISTID +=?,
             新的String [] {将String.valueOf(tasklist_Id)});
    如果(光标=空&安培;!&安培;!cursor.getCount()= 0)
          cursor.moveToNext();
    返回游标;
}
 

在我的活动:

  list_tasklistname.setOnItemClickListener(新OnItemClickListener(){
        @覆盖
        公共无效onItemClick(适配器视图<>为arg0,
                android.view.View V,INT位置,长的id){
                DB =新TodoTask_Database(getApplicationContext());
                光标C = db.getTaskCount(ID);
                的System.out.println(c.getCount());
                如果(c.getCount()大于0){
                的System.out.println(C);
                意图taskListID =新的意图(getApplicationContext(),AddTask_List.class);
                任务= adapter.getItem(位置);
                INT taskList_id = task.getTaskListId();
                taskListID.putExtra(TaskList_ID,taskList_id);
                startActivity(taskListID);
                }
            其他 {
                意图addTask =新的意图(getApplicationContext(),Add_Task.class);
                startActivity(addTask);
                }
            }
        });
    db.close();
    }
 

但是当我点击任务列表的名称它返回1,任务到它的机器人数量。请建议。谢谢

解决方案

 在DB:

公众诠释getProfilesCount(){
    字符串countQuery =SELECT * FROM+ TABLE_NAME;
    SQLiteDatabase DB = this.getReadableDatabase();
    光标光标= db.rawQuery(countQuery,NULL);
    INT CNT = cursor.getCount();
    cursor.close();
    返回CNT;
}
 
如何查看Android系统源码

在活动:

  INT profile_counts = remote.getProfilesCount();
    remote.close();
 

I am creating task manager. I have tasklist and I want when I click on particular tasklist name if it empty then it goes on Add Task activity but if it has 2 or 3 tasks then it shows me those tasks into it in list form.

I am trying to get count in list. my database query is like:

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;
}    

In My activity:

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();
    }

but when i am clicking on tasklist name it is returning 1, bot number of tasks into it. Please suggest. thanks

解决方案

IN DB:

public int getProfilesCount() {
    String countQuery = "SELECT  * FROM " + TABLE_NAME;
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(countQuery, null);
    int cnt = cursor.getCount();
    cursor.close();
    return cnt;
}

In Activity:

int profile_counts = remote.getProfilesCount();
    remote.close();