为什么我需要添加if(null!= rb && checkedId> -1),如果我删除了代码,该程序仍然有效。这行代码的好处是什么?

radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            RadioButton rb = (RadioButton) group.findViewById(checkedId);
            if (null != rb && checkedId > -1) {

                switch (rb.getId()){

                    case R.id.radioFast:
                        mAnimOption = FAST;
                        break;

                    case R.id.radioSlow:
                        mAnimOption = SLOW;
                        break;

                    case R.id.radioNone:
                        mAnimOption = NONE;
                        break;


                }
                // End switch block

                mEditor.putInt("anim option", mAnimOption);

            }

        }
    });

最佳答案

好处是避免可能导致您的android应用崩溃的nullpointerexception。

07-24 19:35