gpt4 book ai didi

java - 如何在alertDialog(Android studio)中调用 Activity 父类(super class)的方法

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:40 24 4
gpt4 key购买 nike

当在设备中的特定 fragment 上点击“后退”按钮时,我想提醒用户并让他们决定隐藏应用程序或保留。这里是代码段:

@Override
public void onBackPressed() {
Fragment f = getSupportFragmentManager().findFragmentById(R.id.container);
if(f instanceof PlanListFragment){
builder.setPositiveButton(R.string.alert_Cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Do nothing
}
});
builder.setNegativeButton(R.string.alert_OK, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// I want to call this: **super.onBackPressed()**; but super is not recognized at all here.
}
});

AlertDialog dialog = builder.create();
dialog.show();
}else{
super.onBackPressed();
}
}

如上所述,单击“确定”按钮时如何调用此“supper.onBackPressed()”方法?

提前致谢!

肖恩

最佳答案

无法识别 super.onBackPressed,因为您当前正在构造 DialogInterface.OnClickListener。您可以简单地在构造所述监听器之前声明一个变量 myActivity 并调用该监听器的 onBack 。

Activity activity = this; 
builder.setNegativeButton...
{
...
activity.onBackPressed();
...
}

将“Activity”替换为您所在的任何 Fragment。

//更新

可以编写一个新方法来执行 super.onBackPressed() 调用。

关于java - 如何在alertDialog(Android studio)中调用 Activity 父类(super class)的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44829607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com