我在离开片段之前已经确认退出了。但是我的活动有六张牌,每张牌在点击时都会调用一个片段。确认退出适用于此活动中的所有片段。如何将单个片段应用于称为自己片段的Garden Mapping卡(称为GpsFragment)。我需要在离开此片段(GpsFragment)之前确认退出
这是我的主菜单
这是我在主要活动中的代码
[object Object]
答案 0 :(得分:0)
定义一个与您的活动和片段进行交流的界面
public abstract class BackPressFragment extends BaseFragment {
public abstract boolean processBackPress();
}
YourFragment extends BackPressFragment {
.....
}
在您的活动中处理关键事件,通过界面传递事件。
答案 1 :(得分:0)
您需要将onBackPressed()事件发送到片段。最好的方法是通过界面。 创建一个这样的界面:
public interface IOnBackPressListener {
void onBackPressed();
}
现在在片段中实现您的界面,如下所示:
public class MyFragment extends Fragment implements IOnBackPressListener {
public MyFragment(){
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
@Override
public void onBackPressed() {
Log.e("Fragment","On Back pressed");
// Alert code comes here
}
}
现在,在您的活动中,在onBackPressed()
中编写以下代码 @Override
public void onBackPressed() {
IOnBackPressListener fragment=((IOnBackPressListener)
getSupportFragmentManager().findFragmentById(R.id.container));
if(fragment!=null)
fragment.onBackPressed();
}