繁体   English   中英

活动-片段onBackPressed()

[英]Activity - Fragment onBackPressed()

我在理解Activity和Fragment之间的区别时遇到了一些问题。

我完成了一个名为“ PublicarActivity”的活动和一个名为“ PublicarFragment”的片段。

它们具有完全相同的代码(作为片段和作为活动使用时有所不同),所以这不是问题。

我的问题是我真的不知道如何使用“ onBackPressed”。 我知道在调用该片段之前,您应该将其添加到堆栈中,但是现在我想做些复​​杂的事情。

这是我的活动的onBackPressed的代码:

@Override
public void onBackPressed() {
    if(layout_activado){
        verificable.toggle();
        verificar_layout.setVisibility(View.INVISIBLE);
        layout_activado = false;
        pulsado = false;        }
    else{
        Intent intent_cancelar = new Intent(PublicarActivity.this, Principal_Activity.class);
        startActivity(intent_cancelar);
    }
}

我该如何从片段中完全做到这一点?

您的问题有两件事需要解决才能得到答案。

首先是ActivityFragment之间的混淆。 您可能会遇到一条语句-Android中的“活动表示单个屏幕”。 因此,在您的应用程序中使用Activity将使您的用户与各种视图进行交互,例如按钮,列表等。现在,让我们考虑一个实例,当您想在Activity添加这样的视图时,该视图应包含一些状态生命周期(例如您可以片段中单击列表,然后单击项目应会导致您进入同一视图的详细视图),这样您就可以在主要活动中使用微型活动,而所有其他组件都保留在同一位置。 因此,提供像mini-activity这样的功能时,您的Fragment将拥有一些生命周期方法,这些方法将在Fragment Life期间被调用。 因此,只要您想在主活动中使用某个子活动或用于其他任何用途,就可以使用Fragment 您可以使用Fragment覆盖整个Activity ,就像我们希望在应用程序中包含Navigation-Drawer时所做的那样。

既然您已经了解了FragmentActivity (我希望是这样),那么您可以参考名为cricket的人提供的链接,这是this

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM