当前位置: 首页 > 面试题库 >

如何禁用Android片段类中按下的后退按钮

常飞翼
2023-03-14
问题内容

我想在片段类中禁用后退按钮。onBackPressed()在此片段中似乎不起作用。如何禁用后退按钮?

这是我的示例代码:

public class Login extends Fragment {
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
       ,Bundle savedInstanceState) {
        ViewGroup root = (ViewGroup) inflater.inflate(R.layout.login, null);
        return root;
    }

    public void onBackPressed() {
    }
}

问题答案:

您必须重写父FragmentActivity类的onBackPressed。因此,将您的代码放在父FragmentActivity中。或者,您可以使用以下方法调用父方法:

public void callParentMethod(){
    getActivity().onBackPressed();
}

在FragmentActivity中重写onBackPressed方法,而不调用其超类来禁用后退按钮。

@Override
public void onBackPressed() {
  //super.onBackPressed();
  //create a dialog to ask yes no question whether or not the user wants to exit
  ...
}


 类似资料:
  • 我正在编写一个android应用程序,使用框架布局和片段作为其组件。 我有3个片段:、、。 在社区片段中,用户按下一个按钮来创建一个任务。然后TaskFromFrament用替换FrameLayout中的社区片段。因为在那之后,我想用后退按钮返回社区片段。 在TaskFormFragment中,用户按create按钮创建任务。然后TaskFragment打开,没有添加堆栈,因为我不想在按下后退按钮

  • 我开发了一个简单的用户管理系统。在用户登录时,我设置了数据库会话。我也会在注销时销毁它们。我的缓存也被关闭。即使当我点击浏览器上的后退按钮时,我可以看到我的仪表板,当我点击任何链接时,它应该将我重定向到登录,但它首先显示仪表板,这是一个bug。 登录中的控制器。php: 在match.php中查看页面: 当我点击后退按钮时,它会再次显示登录页面。

  • 我正在使用android导航组件库。我用导航图设置了两个片段。我想在我的片段内按下后退按钮时做一些额外的动作。 我使用这段代码来处理工具栏上的按钮点击,但我也想处理后退按钮按下。我该怎么做?

  • 我对libGDX有一个问题,当我用后退按钮退出后恢复应用程序时,只有一个白色屏幕。 实际应用运行,接受触摸输入,播放声音,但屏幕只是白色。 我读过保持对纹理的静态引用可能会导致这个问题,但我没有这样做。 下面是我的资产代码如何工作的简化版本。 在按下后退按钮后返回应用程序时,重新创建AssetManager,重新打开SplashScreen(为白色),并更新AssetManager直到重新加载所有

  • 在我的应用程序中,我有一个注销功能。如果用户单击注销,它将进入主屏幕。现在,我按下后退按钮退出我的应用程序。但我想要的是,我需要自动退出(即以编程方式退出),就像返回按钮功能一样。我知道,通过调用finish()可以实现该功能。但问题是,它会转到上一个活动。

  • 我需要在Android Studio上帮助回答这个问题。 我如何通过按下后退按钮跳转到片段?我们没有添加任何按钮。只需点击Android手机上的后退按钮。 例如: 我正从activity_main走向支离破碎1 我正从碎片1走向碎片2 当我按下后退按钮时,我想跳转到activity_main,而不是片段1。