zoukankan      html  css  js  c++  java
  • Android中退出程序的提示框

    不知道您有没有这样的体验,我们做了个程序,不想让用户一直点击返回键,不知不觉中退了出来。希望给用户一个更为有好的提示,留下那些其实并没有真的要退出的用户。好吧,今天我就来说说如何实现这一功能。

         首先明确一点,用户的一直点击的返回键,之后就会退出到桌面。那么,如何提示呢?很简单,在用户一顿返回键回到程序入口处(即程序的第一个 Activity)给用户一个提示,您再按可就退出程序啦?那么如何在程序入口处增加这个提示呢?明显,我们要侦听用户的点击返回键这一事件。怎样才能做 到侦听这一事件呢?代码如下:

    1. @Override  
    2.     public boolean onKeyDown(int keyCode, KeyEvent event) {  
    3.         if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {  
    4.             dialog();  
    5.             return true;  
    6.         }  
    7.         return true;  
    8.     }  

    重写了Activity的侦听方法,如果用户按的键值与返回键键值相同便执行显示dialog的操作。

    当然你还要重写dialog方法:

    1. protected void dialog() {  
    2.         AlertDialog.Builder builder = new Builder(AccoutList.this);  
    3.         builder.setMessage("确定要退出吗?");  
    4.         builder.setTitle("提示");  
    5.         builder.setPositiveButton("确认",  
    6.         new android.content.DialogInterface.OnClickListener() {  
    7.             @Override  
    8.             public void onClick(DialogInterface dialog, int which) {  
    9.                 dialog.dismiss();  
    10.                 //AccoutList.this.finish();  
    11.                 //System.exit(1);  
    12.                 android.os.Process.killProcess(android.os.Process.myPid());  
    13.             }  
    14.         });  
    15.         builder.setNegativeButton("取消",  
    16.         new android.content.DialogInterface.OnClickListener() {  
    17.             @Override  
    18.             public void onClick(DialogInterface dialog, int which) {  
    19.                 dialog.dismiss();  
    20.             }  
    21.         });  
    22.         builder.create().show();  
    23.     }  

    protected void dialog() {

    这时候您再在程序的入口Activity点击返回键时便会看见提示

  • 相关阅读:
    Java数据持久层
    一张图解决ThreadLocal
    类加载器及其加载原理
    手写LRU缓存淘汰算法
    使用归并排序思想解决逆序对数量问题
    Same Origin Policy 浏览器同源策略详解
    如何估算线程池的线程数?
    分布式锁为什么要选择Zookeeper而不是Redis?
    SpringBoot的SpringMVC使用FastJson依赖时LocalDateTime全局配置序列化格式
    数据库中的枚举值如何存储
  • 原文地址:https://www.cnblogs.com/xuewater/p/2620804.html
Copyright © 2011-2022 走看看