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

AlertDialog 를 다른 Class에 지정후 불러올때 onClick 안됩니다

0 추천

자주 사용되는 diallog를 A 클래스에 모아서 사용하고싶습니다.

A 클래스 내 alerdialog 코드입니다. 

 

public static AlertDialog.Builder f_message_q(Context context, String code, String arg) {

    // 미완성
    if (code.equals("JPNO_DEL")) {
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setTitle("삭제처리");
        builder.setMessage(arg + " 전표번호를 삭제하겠습니까?")
                .setCancelable(false)
                .setPositiveButton("취소",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        })
                .setNegativeButton("삭제",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                //????
                            }
                        });
        return builder;
    }
    return null;
}

B Activity에서 위의 A 클래스에서 선언한 dialog를 호출하여

삭제 버튼을 누르면 B Activity 내에서

지정한 메서드를 호출하고 싶습니다. 

여러가지 고민하다 return 값을 builder로 하긴 했지만 return 은 바꿔도 상관없습니다. 

방법이 없을까요 ? 많은 조언 부탁드립니다. 

고오급개발자 (150 포인트) 님이 2021년 5월 20일 질문

1개의 답변

0 추천
 
채택된 답변
저의 경우 리스너 인터페이스를 만들어서 이벤트 처리를 합니다.

dialog 이벤트가 위 기준처럼 2가지 ( 취소 (negative-부정 처리), 삭제 (positive-긍정 처리) )일 경우

public interface onDialogClickListener{

      void positive();

      void negative();

}

위 처럼 정의해서 각 응답별 처리 하면 될듯합니다.
비뢰광 (7,400 포인트) 님이 2021년 5월 20일 답변
고오급개발자님이 2021년 5월 20일 채택됨
...