在MainActivity中创建对话框并在整个应用程序中使用片段

时间:2015-11-12 09:06:41

标签: android android-fragments

我有一个应用程序,我经常在我的所有片段中使用对话框。 我在fragmetns中使用对话框主要用于显示来自服务器的消息。

AlertDialog ad = new AlertDialog.Builder(getActivity()).create(); ad.setCancelable(false); 
ad.setTitle(title); 
ad.setMessage(message);
 ad.setButton(context.getString(R.string.text), new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
    } });

我可以创建这是我的MainActivty并通过我的所有片段使用它吗? 请帮帮我。

3 个答案:

答案 0 :(得分:3)

创建一个公共类,如下所示。

 public class UtilsDialog {

    public static void promtDialog(Context context,String title, String message){
    AlertDialog ad = new AlertDialog.Builder(context).create(); ad.setCancelable(false); 
    ad.setTitle(title); 
    ad.setMessage(message);
    ad.setButton(context.getString(R.string.text), new DialogInterface.OnClickListener() {

        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        } });
     ad.show();
    }

 }

并在片段中调用promtDialog方法。

UtilsDialog.promtDialog(getActivity(), "add your title here", "add your message here");

答案 1 :(得分:1)

创建一个方法,如:

public void showAlert()
{
AlertDialog ad = new AlertDialog.Builder(getActivity()).create(); ad.setCancelable(false); 
ad.setTitle(title); 
ad.setMessage(message);
 ad.setButton(context.getString(R.string.text), new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
    } });
}

并在需要的地方调用此方法,例如MainActivity.showAlert();

答案 2 :(得分:0)

请检查

public void showAlert(String title,String message){
  AlertDialog ad = new AlertDialog.Builder(this);
  ad.create().setCancelable(true).setTitle(title).setMessage(message);
  ad.setButton("Ok", new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();
    } });
}

从片段

调用
((HomeActivity)getActivity()).showAlert("My title","My Message");