2013-08-24 64 views
0

我有一个活动扩展了常见页脚nav的基本活动。现在,在特定的活动中,当他尝试通过按任何其他导航按钮离开该活动时,我将向用户显示确认对话。我已经尝试过onpause和它不工作。它不会等待用户在确认框中按确定。基本上,用户在点击该活动的任何其他链接时必须看到该框。退出活动时提示

感谢您的帮助。

+6

“现在我正在做一个特定的活动,当他试图通过按任何其他导航按钮离开该活动时,向用户显示确认对话” - 这是一种用于移动设备的UX反模式。用户需要能够移动到另一个应用程序而不受干扰(例如,响应来电)。 – CommonsWare

+0

这很好,用户可以继续接收任何电话等。但是当他按任何链接在该活动屏幕系统将要求他确认 – user2534310

+0

@ user2534310如果你需要问用户的东西,当你没有屏幕,放置一个'通知'。 –

回答

0

只显示一个对话框,在任何一个链接要显示,比方说用户,我写了这以下功能:

private void showExitDialog() { 
     // TODO Auto-generated method stub 
    AlertDialog.Builder adb = new Builder(Home.this); 
    adb.setTitle("Warning"); 
    adb.setMessage("Are you sure you want to quit ?"); 
    adb.setIcon(R.drawable.ic_launcher); 
    adb.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface arg0, int arg1) { 

      finish(); 
     } 
    }); 

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

     @Override 
     public void onClick(DialogInterface arg0, int arg1) { 

      arg0.dismiss(); 
     } 
    }); 

    AlertDialog ad = adb.create(); 
    ad.show(); 
} 

然后,只需调用中的每一个环节(你说的)的onClick此功能。希望这会实现你的目的。

+0

这些链接处于常见的基本活动状态,所以当用户在任何其他活动中按下该链接时都会显示该链接。我需要向他们展示特定的活动。此外,活动中还有一些其他链接,用户可以从其中切换到另一个链接。 – user2534310