深圳微信网站,网址大全首页,如何查找各种网站,小程序源码获取如何在Android应用中实现一个返回键功能发布时间#xff1a;2020-11-23 16:28:56来源#xff1a;亿速云阅读#xff1a;89作者#xff1a;Leah今天就跟大家聊聊有关如何在Android应用中实现一个返回键功能#xff0c;可能很多人都不太了解#xff0c;为了让大家更加了解2020-11-23 16:28:56来源亿速云阅读89作者Leah今天就跟大家聊聊有关如何在Android应用中实现一个返回键功能可能很多人都不太了解为了让大家更加了解小编给大家总结了以下内容希望大家根据这篇文章可以有所收获。记录用户点击的操作历史使用栈数据结构频繁的操作栈顶(添加获取删除)使用LinkedList捕获用户的返回键操作响应返回键返回上一个界面MainActivity.java/*** 返回键处理*/Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCodeKeyEvent.KEYCODE_BACK){boolean resultMiddleManager.getInstance().goBack();if(!result){Toast.makeText(MainActivity.this, 是否退出应用, 1).show();}return false;}return super.onKeyDown(keyCode, event);}MiddleManager.java//操作历史栈private LinkedList HISTORYnew LinkedList();/*** 处理返回键* return*/public boolean goBack() {//如果为空会抛异常if(HISTORY.size()0){if(HISTORY.size()1){return false;}HISTORY.removeFirst();if(HISTORY.size()0){String keyHISTORY.getFirst();BaseView targetViewVIEWCACHE.get(key);mainContainer.removeAllViews();View childtargetView.getView();mainContainer.addView(child);child.startAnimation(AnimationUtils.loadAnimation(mainContainer.getContext(), R.anim.left_to_right));currentViewtargetView;return true;}}return false;}/*** 加载界面*/public void loadView(Class baseViewClass) {BaseView baseViewnull;//判断是否存在String keybaseViewClass.getSimpleName();if(VIEWCACHE.containsKey(key)){baseViewVIEWCACHE.get(key);}else{try {Constructor constructor;constructor baseViewClass.getConstructor(Context.class);baseViewconstructor.newInstance(mainContainer.getContext());} catch (Exception e) {e.printStackTrace();}VIEWCACHE.put(key, baseView);}mainContainer.removeAllViews();View childbaseView.getView();mainContainer.addView(child);child.startAnimation(AnimationUtils.loadAnimation(mainContainer.getContext(), R.anim.left_to_right));currentViewbaseView;//放入栈HISTORY.addFirst(key);}看完上述内容你们对如何在Android应用中实现一个返回键功能有进一步的了解吗如果还想了解更多知识或者相关内容请关注亿速云行业资讯频道感谢大家的支持。