radiobutton 클릭 시 전환 불가

1693 단어
평소에 쓴 코드처럼 라디오 그룹에 라디오 button 두 개를 넣으면 코드는 다음과 같다.
       

        

        

    

색상
그러나 실제 ui클릭은 한 번만 효력이 발생하고 다시 클릭하면 효력이 발생하지 않는다. 마지막으로 이전 코드와 조금씩 비교한 결과 조금씩 테스트한 결과 Radio Button이 id를 정의하지 않았기 때문에 id를 추가하면 된다는 것을 발견했다.
Radio Group 소스를 뒤집어 check 메서드와 이 행 코드를 확인합니다.
 int value = attributes.getResourceId(R.styleable.RadioGroup_checkedButton, View.NO_ID);
 if (value != View.NO_ID) {
            mCheckedId = value;
            mInitialCheckedId = value;
        }
public void check(@IdRes int id) {
        // don't even bother
        if (id != -1 && (id == mCheckedId)) {
            return;
        }

        if (mCheckedId != -1) {
            setCheckedStateForView(mCheckedId, false);
        }

        if (id != -1) {
            setCheckedStateForView(id, true);
        }

        setCheckedId(id);
    }

밑바닥 Radio Group은 클릭한 라디오 button의 id를 얻었기 때문에 이런 상황이 생겼다는 것을 알 수 있습니다.

좋은 웹페이지 즐겨찾기