在特定视图上点击硬件后退按钮时,它不应执行任何操作。默认情况下,导航会弹出视图,但此处我不想在点击硬件后退按钮时返回导航。我希望它留在那个页面/视图上。 我检查了所有可能的解决方案,但没有运气。这也不重复。
Ionic 2 - Disabling back button for a specific view这是导航后退按钮。我想要一个硬件后退按钮的解决方案。
答案 0 :(得分:1)
*简单地覆盖空onBackPressed *
@覆盖 public void onBackPressed(){
// do nothing.
}
答案 1 :(得分:1)
*简单地覆盖空onBackPressed *
@Override
public void onBackPressed(){
// do nothing.}
答案 2 :(得分:0)
您必须编写覆盖方法
@Override
public void onBackPressed() {
\\you can do whatever you want to here.
\\don't call **super**, if u want disable back button in current screen.
}
答案 3 :(得分:0)
在您的活动中,您必须覆盖方法:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return !disableBackKey ;
}
return super.onKeyDown(keyCode, event);
}
make disableBackKey True / False取决于您的要求。
答案 4 :(得分:0)
如果您使用的是活动,请在活动中添加以下功能
@Override
public void onBackPressed() {
//super.onBackPressed();
}
如果您使用片段,请将以下功能添加到您的片段
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
return true
}
return false;
}
答案 5 :(得分:0)
回答Ionic 2或3
在构造函数的末尾调用下面的方法。
以下代码中的注册是您当前页面或组件的类名。
如果您不想在后退按钮上执行任何操作,只需删除以下IF条件下的代码。
overrideHardwareBackButton() {
this.platform.ready().then(() => {
this.platform.registerBackButtonAction(() => {
let activeView:ViewController = this.navCtrl.getActive();
if (activeView != null && ((<any> activeView).instance instanceof Registration)) {
console.log("Registration -> Home");
this.nav.setRoot(HomePage);
} else {
console.log("Somthing is wrong");
}
});
});
}