AlertDialogを動的に閉じる方法 | Androidアプリ開発

※当サイトはアフィリエイト広告を利用しています。

Androidアプリ開発においてAlertDialogを動的に(プログラムから)閉じる方法を紹介します。
スポンサーリンク


AlertDialogを動的に閉じる方法

AlertDialogを閉じるにはdismissメソッドを使用します。

以下がサンプルコードです。
package com.areseitestproject;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    AlertDialog alertDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        alertDialog = new AlertDialog.Builder(this)
                .setMessage("TEST")
                .show();

        new Thread(() -> {
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {

            }

            alertDialog.dismiss();
        }).start();
    }
}

このコードではAlertDialog表示から3秒後にプログラムからAlertDialogを閉じています。

コツとしては、AlertDialog表示時にそのオブジェクトを取得しておくことです(17行目)。プログラムからAlertDialogを閉じるにはそのオブジェクトからdismissメソッドを実行すればOKです。

使用例

使用例としては、AlertDialogから違うActivityに遷移し、そのActivityから元のActivityに戻ったときにAlertDialogが表示されたままなのを避けたりすることに使用できます。

まとめ

この記事ではAndroidアプリ開発においてAlertDialogを動的に(プログラムから)閉じる方法を紹介しました。