Android listview上的增量计数器

Android listview上的增量计数器,android,android-listview,parse-platform,Android,Android Listview,Parse Platform,我想要的是,每当用户单击listview中的项目时,我都会尝试增加一个计数器。但是,每次计数器仅对在listview中创建特定项的用户递增。请帮助,我想在用户单击的每个列表项上增加计数器。谢谢 listView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(final AdapterView<?> parent,

我想要的是,每当用户单击listview中的项目时,我都会尝试增加一个计数器。但是,每次计数器仅对在listview中创建特定项的用户递增。请帮助,我想在用户单击的每个列表项上增加计数器。谢谢

             listView.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(final AdapterView<?> parent,
                final View view, final int position, final long id) {

            try {
                caseID = ((CaseModel) parent.getAdapter().getItem(position))
                        .getCaseId();
                caseTittle = ((CaseModel) parent.getAdapter().getItem(
                        position)).getTitle();
                caseDescription = ((CaseModel) parent.getAdapter().getItem(
                        position)).getDescription();
                caseCreator = ((CaseModel) parent.getAdapter().getItem(
                        position)).getNameofcreator();
                userId = ((CaseModel) parent.getAdapter().getItem(position))
                        .getUserId();
            } catch (Exception e) {
                // TODO: handle exception
            }

            if (caseID != null) {
                Intent gotoDetail = new Intent(
                        DoxinetCaseListActivity.this,
                        DoxinetCaseDiscussionForum.class);
                gotoDetail.putExtra("caseId", caseID);
                gotoDetail.putExtra("caseTitle", caseTittle);
                gotoDetail.putExtra("caseDescription", caseDescription);
                gotoDetail.putExtra("nameCreator", caseCreator);
                gotoDetail.putExtra("userId", userId);
                gotoDetail.putExtra("readStatus", true);
                callToCaseStats();
                callToIncrementCounter();
                startActivity(gotoDetail);
            } else {
                return;
            }

        }
    });
listView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(最终适配器视图父级,
最终视图、最终整型位置、最终长id){
试一试{
caseID=((CaseModel)parent.getAdapter().getItem(position))
.getCaseId();
CaseTTitle=((CaseModel)parent.getAdapter().getItem)(
position().getTitle();
caseDescription=((CaseModel)parent.getAdapter().getItem(
position().getDescription();
caseCreator=((CaseModel)parent.getAdapter().getItem(
position)).getNameofcreator();
userId=((CaseModel)parent.getAdapter().getItem(position))
.getUserId();
}捕获(例外e){
//TODO:处理异常
}
if(caseID!=null){
Intent gotoDetail=新Intent(
DoxinetCaseListActivity.this,
DoxinetCaseDiscussionForum.class);
gotoDetail.putExtra(“caseId”,caseId);
gotoDetail.putExtra(“案例标题”,案例标题);
gotoDetail.putExtra(“案例描述”,案例描述);
gotoDetail.putExtra(“名称创建者”,案例创建者);
putExtra(“userId”,userId);
putExtra(“readStatus”,true);
calltocasests();
callToIncrementCounter();
星触觉(gotoDetail);
}否则{
返回;
}
}
});
下面是callToIncrementCounter()方法

protectedvoid callToIncrementCounter(){
//TODO自动生成的方法存根
//TODO自动生成的方法存根
ParseQuery=ParseQuery.getQuery(“case”);
//查询:whereEqualTo(“objectId”,caseID);
试一试{
ob=query.find();
System.out.println(“计数器内用户ob”+ob);
for(解析对象ob1:ob){
counter=Integer.parseInt(ob1.get(“counter”).toString());
系统输出打印项次(“输入计数器”+计数器);
计数器=计数器+1;
ob1.放置(“计数器”,计数器);
ob1.saveInBackground();
系统输出打印项次(“输入计数器”+计数器);
}
}
捕获(异常d){
System.out.println(“例外情况”);
d、 getMessage();
}
}

您可以尝试创建地图,并使用ListView中的位置作为键。映射的值将是每行的计数。

您正在尝试为
列表视图中的每个
创建计数器,如果我没有弄错,这就是您的意思,请为这种情况找到解决方案

您正在为
列表视图使用默认适配器,而应使用自定义适配器

然后,您应该在适配器中填充
列表
,该
对象应包含
计数器


然后在
onItemClick
方法上,您应该更新单击项的
计数器
,然后调用
适配器。notifyDataSetChanged()
此方法将更新
列表视图
以显示每个项目的更新计数器。

正在查找???@Raghunandan我想在用户每次单击列表项目时增加计数器!!!你想要什么?每行一个计数器还是一般的计数器?@zozelfelfo每行一个计数器
    protected void callToIncrementCounter() {
    // TODO Auto-generated method stub

    // TODO Auto-generated method stub
    ParseQuery<ParseObject> query = ParseQuery.getQuery("case");
    //query.whereEqualTo("objectId", caseID);
    try {
        ob = query.find();

        System.out.println("In counter userob" + ob);

        for (ParseObject ob1 : ob) {

            counter = Integer.parseInt(ob1.get("counter").toString());
            System.out.println("In counter " + counter);

            counter = counter + 1;
            ob1.put("counter", counter );
            ob1.saveInBackground();
            System.out.println("In counter " + counter);
        }
    }

    catch (Exception d) {
        System.out.println("In exception");
        d.getMessage();
    }

}