выходить из дела, находясь внутри анонимного класса - PullRequest
0 голосов
/ 11 мая 2018

Я использую базу данных Firebase для университетского проекта. Я думаю, что не имеет значения, что делает. Мой вопрос понятен. Почему это не позволяет мне сломаться в случае 2 внутри дела 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 голосов
/ 11 мая 2018

break работает для выхода из switch или любого loop. Это не работает для выхода из функции . В вашем случае вы пытаетесь выйти из функции обратного вызова onDataChange(), используя break. Это всегда создает синтаксическую ошибку .

...