Android后退按钮根本不起作用

时间:2012-05-25 10:46:41

标签: android

我有Fragment Activity主持MapListActivity。我想在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);
}

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

如果你想要那种功能,你需要在你的活动中覆盖它,然后在你的所有片段上添加一个YourBackPressed接口,只要按下后退按钮就可以调用相关片段。

how to implement onBackPressed() in Android Fragments?

复制

答案 2 :(得分:0)

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

答案 3 :(得分: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);    
        }

答案 4 :(得分:0)

问题解决了:

How to implement onBackPressed() in Fragments?

要使用片段上的后退按钮,您还需要在子项活动中声明onKeyDown / onBackPressed()方法。