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