2011-08-04 12 views
14

मैं बैक बटन पर क्लिक करके चाहता हूं कि यह एक टेक्स्ट बॉक्स प्रदर्शित करेगा जिसमें टेक्स्ट व्यू और एक्ज़िट नामक एक बटन शामिल होगा। बाहर निकलें बटन क्लिक करने के बाद इसे बाहर मेरे ऐपएंड्रॉइड बैक बटन दबाकर एक संवाद बॉक्स कैसे डालें

मैं इस तरह से किया था से

@Override  
public void onBackPressed() {  
    System.out.println("hiiii"); 
    final Dialog dialog = new Dialog(this); 
    dialog.setContentView(R.layout.dialog); 

    Button exitButton = (Button) dialog.findViewById(R.id.exit); 
    System.out.println("inside dialog_started"); 
    exitButton.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 
      MainActivity.this.finish(); 
      dialog.dismiss(); 
     } 
    }); 
    return; 
} 

लॉग बिल्ली hiiiii में आना चाहिए, और "अंदर dialog_started" छपा है, लेकिन संवाद बॉक्स नहीं हो रही है। मैं बैक बटन पर उस डायलॉग बॉक्स को कैसे प्राप्त कर सकता हूं?

public void onBackPressed() { 
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
     Menu.this); 

    // set title 
    alertDialogBuilder.setTitle("Exit"); 

    // set dialog message 
    alertDialogBuilder 
     .setMessage("Do you really want to exit?") 
     .setCancelable(false) 
     .setPositiveButton("Yes",new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog,int id) { 
       // if this button is clicked, close 
       // current activity 
       Menu.this.finish(); 
      } 
      }) 
     .setNegativeButton("No",new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog,int id) { 
       // if this button is clicked, just close 
       // the dialog box and do nothing 
       dialog.cancel(); 
      } 
     }); 

     // create alert dialog 
     AlertDialog alertDialog = alertDialogBuilder.create(); 

     // show it 
     alertDialog.show(); 
    } 
+0

मुझे यह मिला। मैंने खुद से हल किया। – Jyosna

+0

तो आपको अपना कोड यहां रखना चाहिए। –

उत्तर

23
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     exitByBackKey(); 

     //moveTaskToBack(false); 

     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

protected void exitByBackKey() { 

    AlertDialog alertbox = new AlertDialog.Builder(this) 
    .setMessage("Do you want to exit application?") 
    .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 

     // do something when the button is clicked 
     public void onClick(DialogInterface arg0, int arg1) { 

      finish(); 
      //close(); 


     } 
    }) 
    .setNegativeButton("No", new DialogInterface.OnClickListener() { 

     // do something when the button is clicked 
     public void onClick(DialogInterface arg0, int arg1) { 
         } 
    }) 
     .show(); 

} 
0
@Override 
     public boolean onKeyDown(int keyCode, KeyEvent event) { 
if (keyCode != KeyEvent.KEYCODE_BACK) return super.onKeyDown(keyCode, event); 

      DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { 

      public void onClick(DialogInterface dialog, int which) { 
       switch (which){ 
       case DialogInterface.BUTTON_POSITIVE: 
        //Yes button clicked 
        finish(); 
        break; 

       case DialogInterface.BUTTON_NEGATIVE: 
        //No button clicked 
        break; 
       } 
      } 
     }; 

     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setMessage("Are you sure?").setPositiveButton("Yes", dialogClickListener) 
      .setNegativeButton("No", dialogClickListener).show(); 





     return super.onKeyDown(keyCode, event); 
    } 
0

इस कोशिश ...

 public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 

     AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 
      alertDialog.setTitle("Exit Alert"); 
      alertDialog.setIcon(R.drawable.appicon); 

      alertDialog.setMessage("Do you really want to exit the Game?"); 
      alertDialog.setButton("Yes", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        finish(); 
       return; 
      } }); 
      alertDialog.setButton2("No", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        dialog.cancel(); 
       return; 
      }}); 
       alertDialog.show(); 

     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
0

यहाँ से बाहर निकलने के संदेश प्रदर्शित करने के लिए एक और कोड है टियन:

@Override 
public void onBackPressed() { 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 

    builder.setTitle("Save Or Not"); 
    builder.setMessage("Do you want to save this? "); 
    builder.setPositiveButton("Save", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      saveResult(); 
      MyActivity.super.onBackPressed(); 
     } 
    }); 
    builder.setNegativeButton("Discard", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      MyActivity.super.onBackPressed(); 
     } 
    }); 
    builder.show(); 
} 
2
@Override 
public void onBackPressed() { 
// TODO Auto-generated method stub 
     AlertDialog.Builder builder=new AlertDialog.Builder(mContext); 
    // builder.setCancelable(false); 
     builder.setTitle("Rate Us if u like this"); 
     builder.setMessage("Do you want to Exit?"); 
     builder.setPositiveButton("yes",new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      Toast.makeText(mContext, "Yes i wanna exit", Toast.LENGTH_LONG).show(); 

      finish(); 
     } 
    }); 
     builder.setNegativeButton("No",new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      Toast.makeText(mContext, "i wanna stay on this page", Toast.LENGTH_LONG).show(); 
      dialog.cancel(); 

     } 
    }); 
     builder.setNeutralButton("Rate",new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 

      final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object 
      try { 
       startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName()))); 
      } catch (android.content.ActivityNotFoundException anfe) { 
       startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + getPackageName()))); 
      } 

     } 
    }); 
     AlertDialog alert=builder.create(); 
     alert.show(); 
    //super.onBackPressed(); 
     } 
+0

यह सबसे अच्छा जवाब है –

0
its working exactly.... 




public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      exitByBackKey(); 

      //moveTaskToBack(false); 

      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

    protected void exitByBackKey() { 

     AlertDialog alertbox = new AlertDialog.Builder(this) 
     .setMessage("Do you want to exit application?") 
     .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 

      // do something when the button is clicked 
      public void onClick(DialogInterface arg0, int arg1) { 

       finish(); 
       //close(); 


      } 
     }) 
     .setNegativeButton("No", new DialogInterface.OnClickListener() { 

      // do something when the button is clicked 
      public void onClick(DialogInterface arg0, int arg1) { 
          } 
     }) 
      .show(); 

    } 
6

यह एक सरल समाधान है:

संबंधित मुद्दे