Android Studio,尽管有处理程序,但只有一个值会保存到我的Firebase数据库中

时间:2017-11-21 23:51:02

标签: android firebase firebase-realtime-database

你好我在这里有复选框:

        First = (CheckBox)findViewById(R.id.ch1);

        Second = (CheckBox)findViewById(R.id.ch2);

        Third = (CheckBox)findViewById(R.id.ch3);

        ch4 = (CheckBox)findViewById(R.id.ch4);

        ch5 = (CheckBox)findViewById(R.id.ch5);

        ch6 = (CheckBox)findViewById(R.id.ch6);

        ch7 = (CheckBox)findViewById(R.id.ch7);

        ch8 = (CheckBox)findViewById(R.id.ch8);

        ch9 = (CheckBox)findViewById(R.id.ch9);

        ch10 = (CheckBox)findViewById(R.id.ch10);

        ch11 = (CheckBox)findViewById(R.id.ch11);
to the 100th...

我的处理程序在这里:

    public void setParameter(CheckBox param){

        Intent inte = getIntent();
        String RoomName = inte.getStringExtra("RoomName");


        String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
        String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
        DatabaseReference reference = mFirebaseDatabase1.child(RoomName).child(date).child("Inspection").child(currentDateTimeString);

        if(param.isChecked())
        {
            String trek = param.getText().toString();
            reference.child(trek).setValue("Yes");
return;


        }
        else
        {
            String trek = param.getText().toString();
            reference.child(trek).setValue("No");
            return;

        }

    }

我通过在代码的某些部分执行此操作来应用它:

   setParameter(First);
                setParameter(Second);
                setParameter(Third);
                setParameter(ch4);
                setParameter(ch5);
                setParameter(ch6);
                setParameter(ch7);
                setParameter(ch8);
                setParameter(ch9);
                setParameter(ch10);
                setParameter(ch11);
                setParameter(ch12);
                setParameter(ch13);
                setParameter(ch14);
                setParameter(ch15);
                setParameter(ch16);
                setParameter(ch17);
                setParameter(ch18);
                setParameter(ch19);
                setParameter(ch20);
                setParameter(ch21);
                setParameter(ch22);
                setParameter(ch23);
                setParameter(ch24);
                setParameter(ch25);
                setParameter(ch26);
                setParameter(ch27);
                setParameter(ch28);
                setParameter(ch29);
                setParameter(ch30);
                setParameter(ch31);
                setParameter(ch32);
                setParameter(ch33);
                setParameter(ch34);
                setParameter(ch35);
                setParameter(ch36);
                setParameter(ch37);
                setParameter(ch38);
                setParameter(ch39);
                setParameter(ch40);
                setParameter(ch41);
                setParameter(ch42);
                setParameter(ch43);
                setParameter(ch44);
                setParameter(ch45);
                setParameter(ch46);
                setParameter(ch47);
                setParameter(ch48);
                setParameter(ch49);
                setParameter(ch50);
                setParameter(ch51);

to the 100'th

我的问题是在数据库中只保存了一个值。这是怎么回事?这是我的结构:

enter image description here

感谢任何帮助。我一直在圈子里跑。我无法弄明白。 我已经这样做了好几个小时了,我不能做对。它一直给出一个值,我尝试了CLEAN - > REBUILD并重新启动设备没有其他工作。当我认为我很好地实现了处理程序和实现时,我无法找出为什么会出现这种情况。请帮忙

这是Entrance Louver来自的地方:

First = (CheckBox)findViewById(R.id.ch1); 

我希望保存所有其他复选框

Second = (CheckBox)findViewById(R.id.ch2);

    Third = (CheckBox)findViewById(R.id.ch3);

    ch4 = (CheckBox)findViewById(R.id.ch4);

定义复选框 - >制作处理程序 - >将它传递给处理程序 - >处理程序在texbox中获取文本,将其转换为字符串,然后通过

将其保存到firebase
reference.child(trek).setValue("Yes");

如果选中,如果不是

reference.child(跋涉).setValue("否&#34);

trek是将文本转换为字符串

0 个答案:

没有答案