国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現返回鍵操作思路

2019-12-12 03:45:15
字體:
來源:轉載
供稿:網友

記錄用戶點擊的操作歷史,使用棧數據結構,頻繁的操作棧頂(添加,獲取,刪除),使用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);  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 呼玛县| 金山区| 壶关县| 浦江县| 延安市| 建昌县| 石渠县| 崇礼县| 余姚市| 丰宁| 林口县| 文成县| 泾源县| 沧州市| 小金县| 会泽县| 枝江市| 闸北区| 虹口区| 乡城县| 手游| 巴塘县| 张家港市| 方城县| 成武县| 黄平县| 上饶市| 乐清市| 宜昌市| 甘肃省| 泗水县| 岳普湖县| 溆浦县| 富蕴县| 鹤峰县| 三门县| 孙吴县| 弥勒县| 浙江省| 宜兰市| 吉木乃县|