【发布时间】:2016-12-08 15:57:52
【问题描述】:
我在理解 Activity 和 Fragment 之间的区别时遇到了一些问题。
我做了一个名为“PublicarActivity”的活动和一个名为“PublicarFragment”的片段。
它们具有完全相同的代码(在作为片段和作为活动工作时存在一些差异),所以这不是问题。
我的问题是我真的不知道如何使用“onBackPressed”。我知道在调用片段之前,你应该将它添加到堆栈中,但现在我想做一些更复杂的事情。
这是我 Activity 的 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);
}
}
我怎样才能从我的片段中做到这一点?
【问题讨论】:
-
如何与我的活动共享片段的变量?我的意思是,我所理解的是,我应该在我的活动上编写 onBackPressed() 代码,以便从我的片段中使用它。我说的对吗?
-
Fragment 类没有 onBackPressed 方法。 Activity 包含 Fragment,它响应按下后退按钮,是的。我不确定您指的是哪些变量。
-
它基本上是我在 Fragment 中创建的一些布尔值。如果我在我的活动中创建相同的,我会工作吗?
-
这取决于你需要这些布尔值做什么。您始终可以使用
((PublicarActivity) getActivity()).getYourBoolean()从 Fragment 中获取值,例如
标签: java android android-fragments android-activity onbackpressed