简体   繁体   English

在退出android studio之前确认对话框

[英]Confirm dialog before exit android studio

Hi guys I have an exit button on my main activity XML however I need it so when the user clicks it, it opens a dialogue to confirm the exit, if yes then exit. 大家好,我在主要活动XML上有一个退出按钮,但是我需要它,因此当用户单击它时,它会打开一个对话框以确认退出,如果是,则退出。 if no take them back. 如果没有,请带他们回来。

here's my code so far, don't have any of that part however as I don't know where to start. 到目前为止,这是我的代码,但是没有任何内容,因为我不知道从哪里开始。

package com.tradingsoftwarelimited.labelprinter10;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);




    //Sets Edit and Data Button to hidden
    Button hiddenButton = (Button) findViewById(R.id.editButton);
    hiddenButton.setVisibility(View.INVISIBLE);
    Button hiddenButton1 = (Button) findViewById(R.id.dataButton);
    hiddenButton1.setVisibility(View.INVISIBLE);

    //Acknolages settings button
    Button showButton = (Button) findViewById(R.id.settingsButton);

    //if clicked
    showButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //If clicked show Edit and data Button
            Button showButton = (Button) (findViewById(R.id.editButton));
            showButton.setVisibility(View.VISIBLE);
            Button showButton1 = (Button) (findViewById(R.id.dataButton));
            showButton1.setVisibility(View.VISIBLE);


        }
    });

}




    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getSupportActionBar().hide();
        return true;
        }
    };


;
 private void confirmDialog(Context context){ 

   final AlertDialog alert = new AlertDialog.Builder(
                    new ContextThemeWrapper(context,android.R.style.Theme_Dialog))
                    .create();
            alert.setTitle("Alert");
            alert.setMessage("Do you want to exit ?");
            alert.setIcon(R.drawable.warning_icon);
            alert.setCancelable(false);
            alert.setCanceledOnTouchOutside(false);

            alert.setButton(DialogInterface.BUTTON_POSITIVE, "Yes",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {

                            alert.dismiss();

                            finish();

                        }
                    });

            alert.setButton(DialogInterface.BUTTON_NEGATIVE, "No",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {

                            alert.dismiss();

                        }
                    });

            alert.show();
}

Call this method in 在中调用此方法

@Override
    public void onBackPressed() {
        super.onBackPressed();
        confirmDialog(getApplicationContext());
    } 

of your Activity 您的Activity

Try like this: 尝试这样:

 Button exitButton = (Button) findViewById(R.id.exit_button);
exitButton..setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
AlertDialog.Builder builde = new AlertDialog.Builder(this);
        builde.setMessage(
                "Want Exit?")
                .setPositiveButton("Yes ", dialogClickListeners)
                .setNegativeButton("Cancel", dialogClickListeners).show();
}
        });

DialogInterface.OnClickListener dialogClickListeners = new DialogInterface.OnClickListener() 
    {
        public void onClick(DialogInterface dialog, int which) 
        {
            switch (which) 
            {
            case DialogInterface.BUTTON_POSITIVE:
finish();
            break;
            case DialogInterface.BUTTON_NEGATIVE:

            break;
            }
        }
    };
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



Invite = (ImageButton) findViewById(R.id.imageButton5);

    final DialogInterface.OnClickListener dialogClickListeners = new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    switch (which) {
                        case DialogInterface.BUTTON_POSITIVE:
                            finish();
                            break;
                        case DialogInterface.BUTTON_NEGATIVE:

                            break;
                    }
                }
            };
            Invite.setOnClickListener(new View.OnClickListener() {

                public void onClick(View v) {
                    AlertDialog.Builder builde = new AlertDialog.Builder(MainActivity.this);
                    builde.setMessage(
                            "Want Exit?")
                            .setPositiveButton("Yes ", dialogClickListeners)
                            .setNegativeButton("Cancel", dialogClickListeners).show();
                }
            });

        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM