Написал отдельный класс, который будет вызываться из любого активити для того чтобы выходить из приложения через алертдиалог. Что передать билдеру?
public class NewActivity extends Activity
{
@Override
protected void onCreate(@Nullable Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.new_layout);
}
@Override
public void onBackPressed() {
CancelClass cancelClass = new CancelClass();
cancelClass.onCreateDialog(??);
}
public class CancelClass extends Application {
public void onCreateDialog (??) {
AlertDialog.Builder builder = new AlertDialog.Builder(??);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
}
Скорее всего билдер требует контекста. Т.е. в аргументе метода должно быть Context context и context в билдер передать. Ну а при вызове из активити надо передавать this, т.к. активити реализует контекст
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники