라디오 버튼 예제를 따라한 뒤 dialog 내에서 라디오 버튼을 적용시키는 법을 시도했는데 에러가 떴습니다
http://androiddeveloper.tistory.com/58 에서 라디오 버튼 예제를 찾아서 제 코드에 적용시키려고 했습니다
제 코드 중에 텍스트 뷰를 클릭하면 dialog가 뜨고 내용 작성 후 확인을 누르는 코드가 있습니다
dialog의 xml 중 라디오 버튼을 두어 해당 라디오 버튼 클릭 시 이벤트가 나타나게끔 하고 싶은데 두 코드를 짜집기할 때 에러가 뜨더군요
----------------------------------
밑에는 저의 dialog 관련 코드 일부입니다
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.day_time);
setTitle("일간 계획표(시간)");
//day3_2(과목)
//텍스트 뷰 클릭 시 이벤트 처리
day3_2.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
day3_2.setBackgroundColor(Color.RED);//텍스트 뷰 배경 색깔 빨간색으로 변경
dialogView=(View)View.inflate(Day_time.this, R.layout.week_subject, null);
dlgEdtSubject3_2=(EditText)dialogView.findViewById(R.id.dlgEdt3); //editText를 나타낸다
dlgEdtSubject3_2.setText(day3_2.getText().toString()); //day2_2이란 텍스트 뷰에 글자를 출력한다
AlertDialog.Builder dlg=new AlertDialog.Builder(Day_time.this);
dlg.setTitle("내용 작성"); //다이얼로그의 제목
dlg.setIcon(R.drawable.ic_launcher); //다이얼로그 옆의 안드로보이 이미지
dlg.setView(dialogView); //다이얼로그를 띄운다
dlg.setPositiveButton("확인",
new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
//과목(분량) 저장(프레퍼런스 사용)
pref = getSharedPreferences("day_all" , MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("day3_2", dlgEdtSubject3_2.getText().toString());
editor.commit();
day3_2.setText(dlgEdtSubject3_2.getText().toString()); //day_L2_1이란 텍스트 뷰에 글자를 출력한다
day3_2.setBackgroundColor(Color.WHITE); //텍스트 뷰 배경 색깔 흰색으로 변경
}
});
dlg.setNegativeButton("취소",
new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
day3_2.setBackgroundColor(Color.WHITE);
}
});
dlg.show();
}
});
}
----------------
여기서 링크 건 사이트의 코드 중
rg1.setOnCheckedChangeListener(this); 는 onCreate() 내에서는 에러가 안 뜨지만 이를 dialog의 확인 버튼을 눌렀을 때 이벤
트가 발생시키도록 하기 위해 확인의 DialogInterface.OnClickListener(){}안에 집어넣으면 에러가 뜨더군요
라디어 그룹 타입의 체크체인지리스너는 다이얼로그인터페이스 온클릭리스너에 적용되지 않는다는 식이었습니다
그렇다면 dialog 에서 라디오 버튼 이벤트는 불가능한건가요? 아니면 다른 방법이 있나요?