Android: Prompt user to save changes when Back button is pressed

前端 未结 4 641
遇见更好的自我
遇见更好的自我 2020-11-27 04:45

I have an activity that contains several user editable items (an EditText field, RatingBar, etc). I\'d like to prompt the user if the back/home button is pressed and change

4条回答
  •  孤街浪徒
    2020-11-27 05:23

    What do you think about this approach ..

    private  void exit(){
        this.finish();
    }
    
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
    
            AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
            alertbox.setTitle("Message");
            alertbox.setMessage("Quit ??? ");
    
            alertbox.setPositiveButton("Yes",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface arg0, int arg1) {
                            exit();
                        }
                    });
    
            alertbox.setNeutralButton("No",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface arg0, int arg1) {
                        }
                    });
    
            alertbox.show();
    
            return true;
        } else {
            return super.onKeyDown(keyCode, event);
        }
    
    }
    

提交回复
热议问题