在匿名类内部打破案例

时间:2018-05-11 17:20:04

标签: android case break anonymous-class

我正在使用firebase数据库进行大学项目。我认为这并不重要。我的问题很清楚。为什么不让我在第二种情况下在案例中打破R.id.first。这是一个编译错误,只是说"打破外部开关或循环"。我无法弄清楚是什么问题。我将不胜感激一些帮助:)

radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {


                switch (checkedId){
                    case R.id.first:
                        mDatabase.child("questions").child("basic").child("comments").child("first").child("answers").child("correct").addValueEventListener(new ValueEventListener() {
                            @Override
                            public void onDataChange(DataSnapshot dataSnapshot) {
                                switch (Integer.parseInt(dataSnapshot.getValue().toString())){
                                    case 1:
                                        break;
                                    case 2:
                                        mDatabase.child("questions").child("basic").child("comments").child("first").child("mistakes").addValueEventListener(new ValueEventListener() {
                                            @Override
                                            public void onDataChange(DataSnapshot dataSnapshot) {

                                                getValue = Integer.parseInt(dataSnapshot.getValue().toString());
                                                getValue++;

                                                mDatabase.child("questions").child("basic").child("comments").child("first").child("mistakes").setValue(getValue);

                                                break;


                                            }

                                            @Override
                                            public void onCancelled(DatabaseError databaseError) {

                                            }


                                        });

                                        break;


                                }
                            }

                            @Override
                            public void onCancelled(DatabaseError databaseError) {

                            }
                        });

                        break;

                    case R.id.second:
                        break;
                    case R.id.third:
                        break;
                }
            }
        });

1 个答案:

答案 0 :(得分:0)

break可用于退出switch或任何loop。这样做可以用于打破功能。在您的情况下,您尝试使用onDataChange()从回调功能 break中断。这将始终创建语法错误