これが取るべきアプローチであるかどうかはわかりませんが、あなたが要求していると私が思うことを行うことができるはずです. 何らかの理由でこれが達成したい場合。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Do you want to clean?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.dismiss();
((ActivityName) appContext).onResume();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
dialog.dismiss();
}
});
builder.create().show();
}
失敗時に何もせずに、成功時のライフサイクル呼び出しのようなものではなく、きれいな関数を呼び出したいと思うでしょう。
これにアプローチするもう 1 つの方法は、フラグを使用して現在のアクティビティを前面に戻すことです。
Intent intent = new Intent(this, CurrentlyRunningActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
指摘されているように、 onResume() 呼び出しを直接参照せずにメインアクティビティを呼び出す方法も提供しますが、これは適切なアプローチではありません。ただし、質問されたときに直接回答したかったのです。