Android后退按钮根本不起作用(日志未激活)

问题描述 投票:0回答:5

我有一个

Fragment Activity
托管着
Map
ListActivity
。我想在
Activity
上按下后退按钮时放置一个方法,但似乎根本不起作用。我的
Log
甚至没有印在
Stacktrace
上。

这里可能出了什么问题?

方法如下:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK ) {
           Log.e("Test","Back Button Clicked");

            this.finish();
            return true;
    }
    return super.onKeyDown(keyCode, event);
}
android
5个回答
2
投票

如果您想要此类功能,则需要在 Activity 中覆盖它,然后将 YourBackPressed 接口添加到所有片段,每当按下后退按钮时就可以调用相关片段。

复制自如何在Android Fragments中实现onBackPressed()?


2
投票
@Override 
public void onBackPressed(){ 
  Toast.makeText(getBaseContext(), "back button pressed", Toast.LENGTH_SHORT).show(); 
  Log.e("Test","Back Button Clicked");
  this.finish();
} 

0
投票

也许尝试删除“if”语句,看看会发生什么?


0
投票

尝试一下,它可能会根据您的需要工作,

public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                Log.e("Test","Back Button Clicked");
    Intent backpage = new Intent(CurrentActivity.this,BackPageActivity.cls);
                    startActivity(backpage);
               CurrentActivity.this.finish();

                return true;
            }
            return super.onKeyDown(keyCode, event);    
        }

0
投票

问题已解决:

如何在Fragment中实现onBackPressed()?

为了在 Fragment 上使用后退按钮,您还需要在您的子 Activity 上声明

onKeyDown
/
onBackPressed()
方法。

© www.soinside.com 2019 - 2024. All rights reserved.