日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android中的后退功能,如何在Android应用中实现一个返回键功能

發(fā)布時間:2024/7/23 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android中的后退功能,如何在Android应用中实现一个返回键功能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如何在Android應用中實現(xiàn)一個返回鍵功能

發(fā)布時間:2020-11-23 16:28:56

來源:億速云

閱讀:89

作者:Leah

今天就跟大家聊聊有關(guān)如何在Android應用中實現(xiàn)一個返回鍵功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

記錄用戶點擊的操作歷史,使用棧數(shù)據(jù)結(jié)構(gòu),頻繁的操作棧頂(添加,獲取,刪除),使用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 HISTORY=new LinkedList();

/**

* 處理返回鍵

* @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 baseViewClass) {

BaseView baseView=null;

//判斷是否存在

String key=baseViewClass.getSimpleName();

if(VIEWCACHE.containsKey(key)){

baseView=VIEWCACHE.get(key);

}else{

try {

Constructor 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);

}

看完上述內(nèi)容,你們對如何在Android應用中實現(xiàn)一個返回鍵功能有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

總結(jié)

以上是生活随笔為你收集整理的android中的后退功能,如何在Android应用中实现一个返回键功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。