2016-11-19 6 views
0

다양한 AlertDialog 유형을 저장하는 도우미 클래스를 만들었습니다. 내 코드에서 어디에서나 호출 할 수 있도록 도움이 될 것이라고 생각했습니다. 불행히도 아래 오류가 new AlertDialog.Builder()에 있습니다. 그것은 Cannot resolve constructor `Builder()라고합니다. 어떻게 작동시킬 수 있습니까? 지금AlertDialog.Builder 헬퍼 클래스가 생성자를 해결할 수 없습니다.

alertDialogHelper.showAboutDialog(this); 

: 활동에서

AlertDialog.Builder builder = new AlertDialog.Builder(context); 

:이 같은 생성자의 문맥을 통과해야

private void showAboutAlertDialog() { 
     AlertDialogHelper alertDialogHelper = new AlertDialogHelper(); 
     alertDialogHelper.showAboutDialog(); 
    } 

답변

1

: 내 활동에

public class AlertDialogHelper { 

    public void showAboutDialog() { 
     AlertDialog.Builder builder = new AlertDialog.Builder(); 
     builder.setTitle(R.string.about); 
     builder.setMessage("A weather app made by Martin Erlic") 
       .setCancelable(false) 
       .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         // Ok 
        } 
       }); 
     AlertDialog alert = builder.create(); 
     alert.show(); 
    } 

} 

,
public void showAboutDialog(Context context) { 
     AlertDialog.Builder builder = new AlertDialog.Builder(context); 
     .... 
0

나는 이런 식으로했다 :

AlertDialogHelper.CreateDialog(this).show(); 
: 내 활동에

public class AlertDialogHelper { 

    public static Dialog CreateDialog(Context mContext) { 

     AlertDialog.Builder builder = new AlertDialog.Builder(mContext); 
     builder.setTitle(R.string.about); 
     builder.setMessage("A weather app made by Martin Erlic") 
       .setCancelable(false) 
       .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 
         // Ok 
        } 
       }); 
     return builder.create(); 
    } 
}