마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 스튜디오 버튼 선택 색 변환

0 추천

버튼이 50에서 81까지 존재하고 누를 때마다 색이 흰색에서 검은색으로 변하게 했습니다. 그리고 예를 들어 60을 눌렀다가 50을 누르면 60은 다시 흰색으로 변하고 50이 검은색으로 유지하게 만드는 코드로 아래와 같이 만들었습니다.

Button b50 = (Button) this.findViewById(R.id. seat50); ->이를 50~81까지
b50.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        b50.setSelected(true);
        b51.setSelected(false);
        b52.setSelected(false); ->81까지 false로
b51.setOnClickListner ... 반복

이를 for문이나 다른 코드로 간단하게 만들려면 어떻게 해야할까요?

그리고 선택한 버튼을 데이터베이스로 만들고 싶은데 room을 사용해도 될까요?

k0kol (160 포인트) 님이 2022년 5월 29일 질문

1개의 답변

0 추천
일반 버튼 보다는 RadioButton에 selector를 줘서 선택된 효과가 자동으로 처리되게 하면 선택처리와 선택된 버튼을 찾는 코드를 줄일 수있어서 더 좋을 것 같습니다. RadioButton 은 XML에서  button속성에 @null을 주고 background에 selector를 설정하면 버튼그룹처럼 사용할 수 있습니다.  참고로 textColor에도 selector가 사용이 가능합니다.

부모레이아웃(LinearLayout or GridLayout)을 하나두고 동적으로 버튼을 생성해서 부모 레이아웃에 addView하는 것도 고려해 보세요.
spark (227,510 포인트) 님이 2022년 5월 29일 답변
...