如何在设备上按下后退按钮来完成listActivity

问题描述:

我使用以下代码完成一项活动,但我想完成后退新闻事件中的列表活动。帮我提前 感谢如何在设备上按下后退按钮来完成listActivity

public void onBackPressed() { 
     AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 
      alertDialog.setMessage("Want to exit ?"); 
      alertDialog.setButton("Yes", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 
        for(Activity activity:activities) 
         activity.finish(); 
      } }); 
      alertDialog.setButton2("No", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int which) { 

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

(活动活动:活动) activity.finish(); - 您是否在应用程序中保留了一系列活动 – Optimus

我不是修改你的代码,只是我的建议在这里新的代码,

public boolean onKeyDown(int keyCode, KeyEvent event) { 
     // TODO Auto-generated method stub 

     if(keyCode==KeyEvent.KEYCODE_BACK){ 
     new AlertDialog.Builder(ProgressController.this).setTitle(
     "Attention").setMessage(
     "Want to exit ?") 
     .setPositiveButton("YES", 
       new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, 
          int which) { 
         finish(); 
        } 
       }).setNegativeButton("NO", 
       new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, 
          int which) { 

        } 
       }).show(); 
     return true; 
     }else{ 
      return false; 
     } 

     //return super.onKeyDown(keyCode, event); 

    } 

你的代码应该修改如下图所示..

@Override 
    public void onBackPressed() { 
     // TODO Auto-generated method stub 

     AlertDialog alertDialog = new AlertDialog.Builder(this).create(); 
     alertDialog.setMessage("Want to exit ?"); 
     alertDialog.setButton("Yes", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       finish(); 
     } }); 
     alertDialog.setButton2("No", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 

       return; 
     }}); 
     alertDialog.show(); 

    } 
+0

您的建议很有帮助,但与我的代码所做的一样。 – puneet

将一个取消侦听器添加到您的警报对话框,并从那里关闭您的活动。

alertDialog.setCancelable(true); 
    alertDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { 

     @Override 
     public void onCancel(DialogInterface dialog) { 
      finish(); 
     } 
    });