【问题标题】:break from case while inside an anonymous class在匿名类中打破案例
【发布时间】:2018-05-11 17:20:03
【问题描述】:

我正在为一个大学项目使用 firebase 数据库。我认为做什么并不重要。我的问题很清楚。为什么不让我在案例 R.id.first 中打破案例 2。这是一个编译错误,只是说“在开关或循环之外中断”。我无法弄清楚这是怎么回事。我会很感激一些帮助:)

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;
                }
            }
        });

【问题讨论】:

    标签: android case break anonymous-class


    【解决方案1】:

    break 适用于离开switch 或任何loop。这适用于打破功能。在您的情况下,您正试图使用​​break 打破回调函数 onDataChange()。这总是会产生语法错误

    【讨论】:

    • 哦,我明白了。但是我需要在那个确切的时间从开关中断开。有什么办法吗?
    • 您可以设置标志,退出该功能后,您可以在该标志上添加条件并中断。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 2011-02-17
    • 2015-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多