0

私は次のコードを持っています:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);    

        final RadioGroup rg_numberOfQuestions = (RadioGroup) findViewById(R.id.radioGroupQuestions);
        int defaultValue = rg_numberOfQuestions.getId();
        RadioButton rbtn = ((RadioButton) rg_numberOfQuestions.findViewById(getPref(defaultValue, "NQ")));
        if(rbtn!=null)
            rbtn.setChecked(true);
        rg_numberOfQuestions.setOnCheckedChangeListener(this);

        final RadioGroup rg_numbersBetween = (RadioGroup) findViewById(R.id.radioGroupNumbersBetween);   
        int defaultValue1 = rg_numbersBetween.getId();
        RadioButton rbtn1 = ((RadioButton) rg_numbersBetween.findViewById(getPref(defaultValue1, "NB")));
        if(rbtn1!=null)
            rbtn1.setChecked(true);
        rg_numbersBetween.setOnCheckedChangeListener(this);     
    }   

ご覧のとおり、この部分である同じコードが 2 回繰り返されています。

int defaultValue = rg_numberOfQuestions.getId();
        RadioButton rbtn = ((RadioButton) rg_numberOfQuestions.findViewById(getPref(defaultValue, "NQ")));
        if(rbtn!=null)
            rbtn.setChecked(true);
        rg_numberOfQuestions.setOnCheckedChangeListener(this);

上記のコードは問題なく動作しますが、私の質問はこれを行うためのより良い方法ですか? これはコードを繰り返しているようで、新しい開発者であるため、これを行う他の方法を理解できません。

4

1 に答える 1