时间:2021-05-19
记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除),使用LinkedList
捕获用户的返回键操作,响应返回键,返回上一个界面
MainActivity.java
/** * 返回键处理 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK){ boolean result=MiddleManager.getInstance().goBack(); if(!result){ Toast.makeText(MainActivity.this, "是否退出应用", 1).show(); } return false; } return super.onKeyDown(keyCode, event); }MiddleManager.java
//操作历史栈 private LinkedList<String> HISTORY=new LinkedList<String>(); /** * 处理返回键 * @return */ public boolean goBack() { //如果为空会抛异常 if(HISTORY.size()>0){ if(HISTORY.size()==1){ return false; } HISTORY.removeFirst(); if(HISTORY.size()>0){ String key=HISTORY.getFirst(); BaseView targetView=VIEWCACHE.get(key); mainContainer.removeAllViews(); View child=targetView.getView(); mainContainer.addView(child); child.startAnimation(AnimationUtils.loadAnimation(mainContainer.getContext(), R.anim.left_to_right)); currentView=targetView; return true; } } return false; } /** * 加载界面 */ public void loadView(Class<? extends BaseView> baseViewClass) { BaseView baseView=null; //判断是否存在 String key=baseViewClass.getSimpleName(); if(VIEWCACHE.containsKey(key)){ baseView=VIEWCACHE.get(key); }else{ try { Constructor<? extends BaseView> constructor; constructor = baseViewClass.getConstructor(Context.class); baseView=constructor.newInstance(mainContainer.getContext()); } catch (Exception e) { e.printStackTrace(); } VIEWCACHE.put(key, baseView); } mainContainer.removeAllViews(); View child=baseView.getView(); mainContainer.addView(child); child.startAnimation(AnimationUtils.loadAnimation(mainContainer.getContext(), R.anim.left_to_right)); currentView=baseView; //放入栈 HISTORY.addFirst(key); }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Android双击返回键退出程序的实现方法,是Android程序开发中一个非常实用的功能,分享给大家供大家参考之用。具体方法如下:一、实现思路:用
Android原生项目实现双击返回键退出应用,是十分简单的,添加如下代码即可实现://记录按键时间privatelongexitTime;@Overridepu
Android应用开发按下返回键退向后台运行我们日常使用的很多Android应用(如QQ、微信、微博),在应用的主界面按下返回键,应用并没有退出,而是进入后台运
Android实现按两次返回键退出程序(两种方法)第一种方法://是否退出程序privatestaticBooleanisExit=false;//定时触发器p
在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用。通常我们的代码会这样实现。publicclassSampleActivity