Java 如何在android studio中获取递增计数器
我试图让I的值增加,但这里似乎重复了2的值。我认为它应该继续递增1,因为我在开始时将值设置为1,但这里没有显示,因为它接近我的类的顶部Java 如何在android studio中获取递增计数器,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,我试图让I的值增加,但这里似乎重复了2的值。我认为它应该继续递增1,因为我在开始时将值设置为1,但这里没有显示,因为它接近我的类的顶部 public void onDataChange(@NonNull DataSnapshot snapshot) { for (DataSnapshot childSnapshot : snapshot.getChildren()) { String clinic_info = String.valueOf(childSnapshot.
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot childSnapshot : snapshot.getChildren()) {
String clinic_info = String.valueOf(childSnapshot.child("Name").getValue());
String txt_review = review.getText().toString();
String txt_dorevitch = dorevitch.getText().toString();
String txt_skin_cancer = skin_cancer_check.getText().toString();
String txt_ear_suctioning = ear_suctioning.getText().toString();
message[0] = message[0].split("\\s*:\\s*")[0]; // use this to get the name of the clinic only..
// replace(":" ,"");
// message[0] = message[0].replaceAll("[0-9]" ,"");
// message[0] = message[0].replace("Shop" ,"");
//
assert clinic_info != null;
if (clinic_info.equals(message[0])) {
HashMap<String, Object> map = new HashMap<>();
map.put("Review" + i, txt_review);
i = (int)snapshot.getChildrenCount();
i++;
System.out.println(i);
FirebaseDatabase.getInstance("https://medical-review-in-australia.firebaseio.com/").getReference().child(message[0]).updateChildren(map);
Toast.makeText(Add_Review.this, "Review Successfully Submited", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(Add_Review.this, "There was an error while updating the database, please try again.", Toast.LENGTH_SHORT).show();
}
public void onDataChange(@NonNull DataSnapshot snapshot snapshot){
对于(DataSnapshot childSnapshot:snapshot.getChildren()){
String clinic_info=String.valueOf(childSnapshot.child(“Name”).getValue());
String txt_review=review.getText().toString();
字符串txt_dorevitch=dorevitch.getText().toString();
字符串txt_skin_cancer=skin_cancer_check.getText().toString();
字符串txt_ear_succoting=ear_succoting.getText().toString();
消息[0]=消息[0]。拆分(“\\s*:\\s*”[0];//使用此选项仅获取诊所的名称。。
//替换(“:”,“”);
//消息[0]=消息[0].replaceAll(“[0-9]”,“”);
//消息[0]=消息[0]。替换(“商店”、“商店”);
//
断言诊所信息!=null;
如果(诊所信息等于(消息[0])){
HashMap=newHashMap();
map.put(“审查”+i,txt\U审查);
i=(int)snapshot.getChildrenCount();
i++;
系统输出打印LN(i);
FirebaseDatabase.getInstance(“https://medical-review-in-australia.firebaseio.com/“”.getReference().child(消息[0]).updateChildren(映射);
Toast.makeText(添加_Review.this,“审阅成功提交”,Toast.LENGTH_SHORT.show();
}否则{
Toast.makeText(添加_Review.this,“更新数据库时出错,请重试。”,Toast.LENGTH_SHORT.show();
}
问题似乎在于您没有更新i
的值i=i+1
将起作用,因为您没有更改i
的值。您可以尝试打印System.out.println(i++)
;问题似乎在于您没有更新i
的值i=i+1
将起作用,因为您没有更改i
的值。您可以尝试打印System.out.println(i++)
;出于某种原因,它要么在某个特定的数字处停止,要么被覆盖……出于某种原因,它要么在某个特定的数字处停止,要么被覆盖……我也尝试过,但值仅在3处停止……没有继续递增……我有一种解决方法,但现在有另一个问题,我将发布单独当我使用数字增加计数器时,其他用户也会覆盖它,但我设法将用户名附加到数据库的审阅名称中。我也尝试过,但值仅在3处停止…没有继续增加…我有一种解决方法,但现在有另一个问题,我将在使用时单独发布增加计数器的数字,其他用户也将覆盖它,但我设法将用户名附加到数据库的审阅名称