Android 列表项从游标计数?

Android 列表项从游标计数?,android,sqlite,listview,cursor,Android,Sqlite,Listview,Cursor,在两个不同的页面中,我有一个用于1.list show和2.item show的两个listview,我想获取特定列表的item页面中的项目数,并在textview中显示计数。事实上,我从光标中获得了listview的计数,但它也显示了其他列表列中的所有项目计数。有人能帮我找到特定项目的计数吗?提前谢谢 1.db类 public void insertContact1(int _id3, int _id4, String content,boolean deleteflag, boolean u

在两个不同的页面中,我有一个用于1.list show和2.item show的两个listview,我想获取特定列表的item页面中的项目数,并在textview中显示计数。事实上,我从光标中获得了listview的计数,但它也显示了其他列表列中的所有项目计数。有人能帮我找到特定项目的计数吗?提前谢谢

1.db类

public void insertContact1(int _id3, int _id4, String content,boolean deleteflag, boolean updateflag, boolean reminder) {
    // TODO Auto-generated method stub
    ContentValues cv = new ContentValues();

    cv.put(Contactsnew.listId, _id3);
    cv.put(Contactsnew.userId1, _id4);
    cv.put("CONTENT", content);
    cv.put(Contactsnew.DELETE_FLAG, deleteflag);
    cv.put(Contactsnew.UPDATE_FLAG, updateflag);
    cv.put(Contactsnew.REMINDER, reminder);

    db = sqlHp.getWritableDatabase();
    db.insert(Contactsnew.TABLE3, null, cv);
}

public void updateContact1(int _id3, int _id4, String content,boolean deleteflag, boolean updateflag) {
    // TODO Auto-generated method stub
    ContentValues cv = new ContentValues();


    cv.put(Contactsnew.listId, _id3);
    cv.put(Contactsnew.userId1, _id4);
    cv.put("CONTENT", content);
    cv.put(Contactsnew.DELETE_FLAG, deleteflag);
    cv.put(Contactsnew.UPDATE_FLAG, updateflag);
    //db.insert(Contactsnew.TABLE03, null, cv);
    db = sqlHp.getWritableDatabase();
    db.update(Contactsnew.TABLE3, cv, Contactsnew.listId + "=" + _id3,null);
    db.close();

}
public static Cursor getcursorvalues(){
    Cursor cur = db.query(Contactsnew.TABLE3, new String[] {Contactsnew.userid,Contactsnew.listId,Contactsnew.CONTENT},
            null, null, null, null, null);

    if(cur!=null){
        cur.moveToFirst();
        int str = cur.getCount();
        Log.d("vaal", String.valueOf(str));
    }

    return cur;

}
2.1级

bt2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                final String category2 = sp.getString("category", null);
                    if(clicked){
                        clicked = false;
                        ArrayList<String> newlist = new ArrayList<String>();
                        TextView curval;
                        for (int i = 0; i < getListView().getCount(); i++) {
                            v = getListView().getChildAt(i);
                            curval = (TextView) v.findViewById(R.id.cursorvalue);
                            curval.setText("    Edit");
                        }
                    }
                    else
                    {
                        clicked = true;
                        ArrayList<String> newlist = new ArrayList<String>();
                        TextView curval;
                        for (int i = 0; i < getListView().getCount(); i++) {
                            v = getListView().getChildAt(i);
                            curval = (TextView) v.findViewById(R.id.cursorvalue);
                            curval.setText("    0/0");
                            value();
                        }
                    }
        }

        private void value() {
            // TODO Auto-generated method stub
            Cursor cur = SQLiteConnectornew.getcursorvalues();
             if(cur==null){
                 Log.d("null", "null");
             }
             else{

                 Log.d("returnvalue", "returnvalue");
             }cur.close();
        }
bt2.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
最终字符串category2=sp.getString(“category”,null);
如果(单击){
单击=假;
ArrayList newlist=新的ArrayList();
文本视图曲线;
对于(int i=0;i
lv1.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
字符串retieveValue=lv1.getAdapter().getItem(位置).toString();
//在此显示值
}
});

基于retieveValue,您可以从数据库中获取数据,以便将数据放入其他listview。

对于您的情况,请尝试以下代码

1.1白云石

public static Cursor remindervalues(int id, int id1){
     Cursor cur=db.rawQuery(" SELECT * FROM "+ Contactsnew.TABLE03 + " WHERE " 
              + Contactsnew.listId + " = " + id + " AND " + Contactsnew.userId1 + "=" + id1, 
              null);
    return cur;

}
2.在适配器类中

Cursor cur = SQLiteConnectornew.remindervalues(id,id1);
    if(cur!=null){
        cur.moveToFirst();
        str = cur.getCount();
        Log.d("vaal", String.valueOf(str));
    }
    String xurva = String.valueOf(str);
    //curval.setText(xurva + "/" + "0");
    cur.close();

你为什么不直接查询你想要的列呢?我是android新手,你能给我一个例子吗..你在onItemClick()中得到第一个列表的点击位置…对吗?然后在第二个列表的查询中使用该位置来检索数据。它检索值,但它显示不同项目中存在的所有值!!这是我的问题
Cursor cur = SQLiteConnectornew.remindervalues(id,id1);
    if(cur!=null){
        cur.moveToFirst();
        str = cur.getCount();
        Log.d("vaal", String.valueOf(str));
    }
    String xurva = String.valueOf(str);
    //curval.setText(xurva + "/" + "0");
    cur.close();