Java 当按下设备上的后退按钮或从底部栏按下时,不会调用onBackPressed
我有一个主活动作为父活动,一个设置活动作为子活动带有片段。现在,当我按下操作栏上的后退箭头。onBackPressed()通常会被调用,但当我从设备上按back按钮时,onBackPressed不会被调用。那个按键叫什么?如何识别系统后退按钮的后退按钮。我正在使用rockchip平板电脑,因此也可以在设备上按回物理键。我希望在按下这些按钮时调用onBackPressed函数。但事实并非如此 需要采取哪些步骤 设置活动性:Java 当按下设备上的后退按钮或从底部栏按下时,不会调用onBackPressed,java,android,button,navigationbar,back-button,Java,Android,Button,Navigationbar,Back Button,我有一个主活动作为父活动,一个设置活动作为子活动带有片段。现在,当我按下操作栏上的后退箭头。onBackPressed()通常会被调用,但当我从设备上按back按钮时,onBackPressed不会被调用。那个按键叫什么?如何识别系统后退按钮的后退按钮。我正在使用rockchip平板电脑,因此也可以在设备上按回物理键。我希望在按下这些按钮时调用onBackPressed函数。但事实并非如此 需要采取哪些步骤 设置活动性: @Override protected void onCreate(B
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.settings_activity );
getSupportFragmentManager()
.beginTransaction()
.replace( R.id.settings, new SettingsFragment() )
.commit();
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled( true );
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(this, WebViewActivity.class);
startActivity( intent );
}
基本活动:
@Override
public void onBackPressed() {
lockApp();
mWebView.loadUrl( getWebViewURL() );
}
我希望我画的这幅画足以让我了解我现在有什么麻烦。我想onBackPressed函数也被调用时,按下底部返回按钮或在他们的设备本身,但没有线索,我现在可以这样做。提前感谢您的帮助。设置活动中的导航栏进入ON BACKPRESSED状态,但在按下底部按钮时不会进入ON BACKPRESSED状态
开始这项活动为我解决了问题,但我确信这是一个糟糕的解决方案,不是正确的方法,或者是吗
设置活动性:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.settings_activity );
getSupportFragmentManager()
.beginTransaction()
.replace( R.id.settings, new SettingsFragment() )
.commit();
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled( true );
}
}
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(this, WebViewActivity.class);
startActivity( intent );
}
你能添加你在设置背压活动时所做的代码吗?显示一些代码!重写设置活动中的onBackPress方法。是否尝试在基本活动上调用onBackPress()?那是不可能的。。您需要重写设置活动时按back press的方法。@Rajnishsuryavanshi我实现的代码现在已经修复了它,但我觉得这是一个非常糟糕的解决方案。在这个网站上,只使用代码的答案通常是不受欢迎的。请编辑您的答案,包括一些注释或对代码的解释,好吗?解释应该回答这样的问题:它做什么?它是如何做到的?它去哪里了?它如何解决OP的问题?请参阅:。谢谢