기억 저장소

클라우드 기반 인공지능 개발과 DevOps 실무

프론트엔드/안드로이드 스튜디오

안드로이드 스튜디오 : 체크박스 만들기 / 체크박스 사용하기

하늘.98 2022. 3. 23. 12:39

체크 박스는 빨간색으로 테두리 쳐진 부분으로 

버튼을 누를 시 체크모양으로 표시가 바뀌게 된다.

글쓴이는 constraint 로 ChekBox를 만들었다.

<CheckBox
    android:id="@+id/check1"
    android:layout_width="180dp"
    android:layout_height="70dp"
    android:text="확인했어요!"
    android:textSize="25dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.865"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.665" />
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Check"
        android:id="@+id/check1"/>

 

 

CheckBox checkBox = findViewById(R.id.check1) ;

 

 

--------------------버튼 클릭시 체크박스가 체크 되어있는지 확인하는 코드 --------------------------------

btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if(checkBox.isChecked()){
            showProgress("잠시만 기다려주세요....");
            Intent intent = new Intent(SelectActivity2.this, UsingActivity2.class);
            startActivity(intent);
            dismissProgress();
            finish();
        }else {
            Toast.makeText(SelectActivity2.this,"안전수칙을 확인해주세요~",Toast.LENGTH_SHORT).show();
        }
    }
});

-------------------------------------체크박스를 클릭시 이벤트 발생하는 코드 ----------------------------

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        // ... 코드 계속

        CheckBox checkBox = (CheckBox) findViewById(R.id.check1) ;
        checkBox.setOnClickListener(new CheckBox.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO : process the click event.
            }
        }) ;
    }
}

 

CheckBox 선택 상태 변경하기.

앱 시작 시, 또는 앱 실행 중 CheckBox의 선택 상태를 설정하려면, setChecked() 함수를 사용합니다. setChecked() 함수의 파라미터인 boolean 값에 "true"를 전달하면 "선택됨(checked)" 상태로, "false"를 전달하면 "선택되지 않음(unchecked)" 상태로 설정하게 됩니다.

[STEP-4.1] "MainActivity.java" - CheckBox의 setChecked() 함수로 선택 상태 변경하기.
    CheckBox checkBox = (CheckBox) findViewById(R.id.check1) ;

    checkBox.setChecked(true) ; // "선택됨" 상태로 변경. 

setChecked() 함수가, 파라미터로 지정된 값으로 CheckBox의 상태를 설정하는 반면, 현재 CheckBox의 선택 상태를 반대로 설정하도록 만드는 함수도 있습니다. 바로 toggle() 함수 입니다.

[STEP-4.2] "MainActivity.java" - CheckBox의 toggle() 함수로 선택 상태 반전시키기.
    CheckBox checkBox = (CheckBox) findViewById(R.id.check1) ;

    checkBox.toggle() ; // CheckBox의 선택 상태를 반대로 변경

2.5 체크 박스 클릭 이벤트 함수에서 선택 상태 알아내기.

만약 체크 박스(CheckBox)가 클릭되었을 때 클릭 이벤트 핸들러 함수에서 체크 박스(CheckBox)의 선택 여부를 확인하려면, onClick() 함수의 파라미터인 View를 CheckBox로 형변환 한다음, isChecked() 함수를 호출하면 됩니다.

[STEP-5] "MainActivity.java" - 체크박스 선택 시, 선택 상태 확인.
    CheckBox checkBox = (CheckBox) findViewById(R.id.check1) ;
    checkBox.setOnClickListener(new CheckBox.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (((CheckBox)v).isChecked()) {
                // TODO : CheckBox is checked.
            } else {
                // TODO : CheckBox is unchecked.
            }
        }
    }) ;

2.6 앱 실행 시 체크 박스가 자동 선택되도록 만들기.

앱 실행 시, 체크 박스의 최초 선택 여부를 지정하기 위해서는 checked 속성을 사용합니다.

[STEP-6] checked 속성으로 최초 선택 여부 지정.
    <CheckBox
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Check"
        android:id="@+id/check1"
        android:checked="true" />

 

 

참조 블로그 

https://recipes4dev.tistory.com/133

 

안드로이드 체크박스(CheckBox) 기본 사용법. (How to use an Android Checkbox)

1. 안드로이드 CheckBox 컴퓨터의 화면이 텍스트 입출력 방식(CLI, Command Line Interface)에서, 그래픽으로 구성된 요소(Component)를 통해 사용자와 상호작용하는 그래픽 사용 방식(GUI, Graphic User Interfac..

recipes4dev.tistory.com