Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android studio中获取递增计数器_Java_Android_Firebase Realtime Database - Fatal编程技术网

Java 如何在android studio中获取递增计数器

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.

我试图让I的值增加,但这里似乎重复了2的值。我认为它应该继续递增1,因为我在开始时将值设置为1,但这里没有显示,因为它接近我的类的顶部

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处停止…没有继续增加…我有一种解决方法,但现在有另一个问题,我将在使用时单独发布增加计数器的数字,其他用户也将覆盖它,但我设法将用户名附加到数据库的审阅名称