Vinay Pandravada
Vinay Pandravada

Reputation: 88

Creating dialog in MainActivity and using it in fragments throughout application

I have an application in which I frequently use dialogs in all my fragments. I use dialogs in fragmetns mostly for displaying messages from server.

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();
    } });

Can I create this is my MainActivty and use this through all my fragments?? Please help me out.

Upvotes: 1

Views: 1339

Answers (3)

Ashish Agrawal
Ashish Agrawal

Reputation: 1977

Please check this

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();
    } });
}

call from fragment

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

Upvotes: 0

Tharindu Welagedara
Tharindu Welagedara

Reputation: 2725

Create a public class as below.

 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();
    }

 }

and call promtDialog method as this in your fragments.

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

Upvotes: 3

Jas
Jas

Reputation: 3212

Create a method like :

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();
    } });
}

and call this method wherever required like MainActivity.showAlert();

Upvotes: 1

Related Questions