Android listview上的增量计数器
我想要的是,每当用户单击listview中的项目时,我都会尝试增加一个计数器。但是,每次计数器仅对在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.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();
}
}