PostCode:
Public Void Exitclick (view) {alertdialog. Builder AA = New Alertdialog. Builder ( This ); AA. settitle ( "Message prompt" ); AA. setmessage ( "Are you sure you want to exit? " ); AA. seticon (R. drawable. Icon); AA. setpositivebutton ( "OK ", New Dialoginterface. onclicklistener () {@ override Public Void Onclick (dialoginterface dialog, Int Which ){ // Todo auto-generated method stub Mainactivity. This . Finish () ;}}); AA. setnegativebutton ( "Cancel ", Null ); AA. Create (); AA. Show (); // This. Finish (); }
It feels more complicated than C...
In addition, press the return key to exit and paste the Code:
Private Void Exitdialog () {alertdialog. Builder AA = New Alertdialog. Builder ( This ); AA. settitle ( "Message prompt" ); AA. setmessage ( "Are you sure you want to exit? " ); AA. seticon (R. drawable. Icon); AA. setpositivebutton ( "OK ", New Dialoginterface. onclicklistener () {@ override Public Void Onclick (dialoginterface dialog, Int Which ){ // Todo auto-generated method stub Mainactivity. This . Finish () ;}}); AA. setnegativebutton ( "Cancel ", Null ); AA. Create (); AA. Show () ;}@ override Public Boolean Onkeydown ( Int Keycode, keyevent event ){ If (Keycode = Keyevent. keycode_back) {exitdialog ();} Return True ;}
It is also popular to exit with two consecutive responses. Code:
Private Static Boolean Isexit = False ; Private Static Boolean Hastask = False ; Timer texit = New Timer (); timertask task = New Timertask () {@ override Public Void Run (){ // Todo auto-generated method stub Isexit = False ; Hastask =True ;}}; @ Override Public Boolean Onkeydown ( Int Keycode, keyevent event ){ If (Keycode = Keyevent. keycode_back ){ // Exitdialog (); If (Isexit = False ) {Isexit = True ; Toast. maketext ( This , "Exit once again Program " , Toast. length_short). Show (); If (! Hastask) {texit. Schedule (task, 2000 );}} Else {Finish (); system. Exit ( 0 );}} // Return true; Return False ;}