我在理解活动和片段之间的区别时遇到了一些问题。
我做了一个名为"PublicarActivity"的活动和一个名为"PublicarFragment"的片段。
它们具有完全相同的代码(作为片段和活动存在一些差异),因此这不是问题。
我的问题是我真的不知道如何使用"onBackPressed"。我知道在调用片段之前,您应该将其添加到堆栈中,但现在我想做一些更复杂的事情。
这是我的活动的 onBackPress 的代码:
@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);
}
}
我怎样才能从我的片段中做到这一点?
您的问题中有两件事需要解决才能得到答案。
第一件事是Activity
和Fragment
之间的混淆。您可能在Android中遇到过一条声明-"活动代表单个屏幕"。因此,在您的应用程序中拥有Activity
将允许您的用户与各种视图(如按钮、列表等)进行交互。所以现在,让我们考虑一个实例,当您想在Activity
中添加这样一个视图时,该视图应该包含一些状态生命周期(例如您可以在片段中列出列表,单击项目应该会引导您在同一视图中获得详细视图),以便您可以在主活动中拥有迷你活动,而所有其他组件仍保留在同一位置。因此,提供迷你活动等功能,您的Fragment
将有一些生命周期方法,这些方法将在片段生命周期期间调用。因此,只要您想在主活动中加入一些子活动或用于任何其他用途,您就可以使用Fragment
。您可以使用Fragment
覆盖整个Activity
,就像我们想要在我们的应用程序中Navigation-Drawer
时所做的那样。
既然您已经清楚了Fragment
和Activity
(我希望如此),您可以参考名为板球的人提供的链接,即此链接。