Show dialog alert from a non-activity class in android

后端 未结 7 1996
慢半拍i
慢半拍i 2020-12-06 02:37

I want to show an Alert Dialog via AlertDialogManager class to a non-activity class DeviceAdminReceiverSample\'s method onDisabl

7条回答
  •  心在旅途
    2020-12-06 02:57

    Here's what I made and use:

    myDialog.java:

    import android.app.Activity;
    import android.content.DialogInterface;
    import android.support.v7.app.AlertDialog;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.TextView;
    
    public class myDialog {
        private Activity mActivity;
    
        myDialog(Activity a) {
            this.mActivity = a;
        }
    
        @SuppressWarnings("InflateParams")
        public void build(String title, String msg) {
            LayoutInflater inflater = LayoutInflater.from(mActivity);
            View subView = inflater.inflate(R.layout.dialog_box_text, null);
            final TextView message = subView.findViewById(R.id.message);
            message.setText(msg);
            AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
            builder.setTitle(title);
            builder.setView(subView);
            builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.dismiss();
                }
            });
            AlertDialog alert = builder.create();
            alert.show();
        }
    }
    

    dialog_box_text.xml:

    
    
        
    
    

    Example code:

    public class MainActivity extends AppCompatActivity {
        private myDialog md;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            md = new myDialog(this);
    
    ...
    
            md.build("Title", "Message");
    

提交回复
热议问题