-
[안드로이드] 다이얼로그 사라질 때 라디오버튼 체크 해제하기안드로이드(java)/UI 관련 2018. 11. 6. 18:08
recyclerview의 내용 중 radio 버튼을 넣을일이 생겼습니다.
radio 버튼을 넣고 앱을 실행해보니까
라디오 버튼이 하나만 선택되는게 아니라 각각 다 선택이 되어버리네요.
그래서 아래 소스에 나와있는 것처럼 onClick 했을때 선택 되게 만들고
확인 버튼을 누르거나 취소버튼을 누르면 체크가 풀리게 만들었고,
경고창 외에 다른 곳을 눌러 경고창을 해제했을때도 사라지게 만들기 위해
setOnDismissListener를 이용하여 체크가 풀리도록 하였습니다.
만약 라디오버튼을 사용하는곳에 경고창을 사용해야만 하는 상황이라면
소스처럼 하셔서 해결할 수 있을 것 같습니다.
public SelectReasonViewHolder(@NonNull View itemView) {
super(itemView);
radioBtn = itemView.findViewById(R.id.radio_btn);
reason = itemView.findViewById(R.id.reason_tv);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
radioBtn.setChecked(true);
AlertDialog.Builder builder = new AlertDialog.Builder(v.getContext());
builder.setMessage(reason.getText()+" 사유로 삭제하시겠습니까?");
builder.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.setNegativeButton("취소", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
radioBtn.setChecked(false);
dialog.dismiss();
}
});
builder.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
radioBtn.setChecked(false);
}
});
builder.show();
}
});
}저기에 있는 itemView는 onBindViewHolder로 묶여있는 것들입니다.
이번 내용은 여기까지 입니다.
추후 다른 내용을 또 올릴게요.
'안드로이드(java) > UI 관련' 카테고리의 다른 글
[안드로이드] 화면 고정, 세로 화면, 가로 화면 설정하기 (0) 2019.05.25 [안드로이드] EditText 글자수 초과 경고 띄우기 (1) 2018.11.13 [안드로이드] 버튼 터치 이벤트 막기 (0) 2018.11.05 [안드로이드] gridView 설정 관련 (0) 2018.10.29 [안드로이드] linearlayout 정렬에 관해서 (내용 정리중) (0) 2018.10.29