Alert Dialog و ساخت آن در برنامه نویسی اندروید

دیالوگ (Alert Dialog) پنجره کوچکی است که کاربر را به تصمیم گیری یا وارد کردن اطلاعات اضافی ترغیب می کند یا برای نمایش اطلاعاتی به کاربر نمایش داده میشود.
با استفاده از Alert Dialog در زمان های که میخواهید از کاربر سوالی بپرسید که مثلا پاسخ آن بله یا خیر است, می توانید بدون تغییر Activity و در همان صفحه این کار را انجام بدهید. به این ترتیب برای ایجاد یک دیالوگ شما می بایست یک آیجکت از کلاس Alert Dialog Builder ایجاد کنید (این کلاس زیر کلاس, کلاس Alert Dialog می باشد). به این شکل :
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

 

حالا شما می بایست دکمه های بله و خیر را به این آبجکت ایجاد شده اضافه کنید. توجه داشته باشید دکمه بله positive و دکمه خیر negative می باشد. با استفاده از کد های زیر می توانید این کار را انجام دهید:
alertDialogBuilder.setPositiveButton(CharSequence text,  DialogInterface.OnClickListener listener);//دکمه بله
alertDialogBuilder.setNegativeButton(CharSequence text,  DialogInterface.OnClickListener listener);//دکمه خیر

متد های Alert Dialog

گذشته از موارد بالا, شما میتوانید با استفاده از متد های اضافی دیگر موجود در کلاس Alert Dialog Builder, دیالوگ خود را سفارشی کنید. این متد ها در پایین لیست شده است.

متد و توضیحات آن ردیف
setIcon(Drawable icon)

با استفاده از این متد شما میتوانید برای دیالوگ خود یک آیکن تنظیم کنید.

1
setCancelable(boolean cancel able)

با استفاده از این متد می توانید مشخص کنید که آیا کاربر می تواند آن را به صورت دستی از حالت نمایش خارج کند یا نه.

2
setMessage(CharSequence message)

با استفاده از این متد میتوانید توضیحاتی برای دیالوگ خود تنظیم کنید.

3
setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, DialogInterface.OnMultiChoiceClickListener listener)
این متد فهرست مواردی را که در دیالوگ به عنوان محتوا نمایش داده می شود، تنظیم می کند. گزینه انتخاب شده توسط Listener ها اطلاع رسانی میشوند.
4
setOnCancelListener(DialogInterface.OnCancelListener onCancelListener)

با استفاده از این متد می توانید یک Listener تنظیم کنید تا زمانی که دیالوگ در صفحه محو شد به شما اطلاع رسانی تا اگر در آن زمان نیازی دارید کاری انجام بدهید.

5
setTitle(CharSequence title)

با استفاده از این متد می توانید برای دیالوگ خود یک عنوان تنظیم کنید.

6

 

بعد از اینکه تنظیمات خود را تکمیل کردید. نوبت به تکمیل ایجاد دیالوگ می رسد که باید با استفاده از متد create() اینکار را انجام بدهید حالا برای نمایش دیالوگ باید از متد show() استفاده کنید, به کد های زیر توجه کنید :

AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();

کد های بالا دیالوگ را با استفاده از تنظیماتی که برای آن اعمال کردید ایجاد میکند و آن را در صفحه به کاربر نمایش میدهد.

 

مثال ایجاد یک Alert Dialog :

package com.foray.articlelib;

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

import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

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

        open();
    }

    public void open() {
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
        alertDialogBuilder.setMessage("آیا دیالوگ را مشاهده میکنید؟");
        alertDialogBuilder.setPositiveButton("بله", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface arg0, int arg1) {
                Toast.makeText(MainActivity.this, "شما دیالوگ را مشاهده میکنید.", Toast.LENGTH_LONG).show();
            }
        });
        alertDialogBuilder.setNegativeButton("نه", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                finish();
            }
        });
        AlertDialog alertDialog = alertDialogBuilder.create();
        alertDialog.show();
    }
}

 

ایجاد Alert Dialog ایجاد Alert Dialog

 

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر نیاز است تا ابتدا وارد سایت شوید.

هیچ نظری ارسال نشده است.

قیمت آموزش
رایگان
نوع دسترسی
رایگان

این مقاله در حال حاضر تنها به روش رایگان در دسترس می باشد.

ناصر خالدی
مدرس دوره

ناصر خالدی

مهندس شبکه, امنیت, برنامه نویسی تلفن های هوشمند, طراح وب سایت و متخصص هوش مصنوعی

گفتگوی برنامه نویسان

بخشی برای حل مشکلات برنامه‌نویسی و مباحث پیرامون آن

دوره های پیشنهادی

مقالات پیشنهادی

اندروید

اندروید یک سیستم عامل می باشد که توسط گوگل توسعه داده میشود, این سیستم عامل بر پایه نسخه ی اصلاح شده ی هسته ی لینوکس و دیگر نرم افزار های متن باز طراحی شده است و ...


۱۰۵۵
۰
۲۹ آبان ۱۳۹۹

درباره فایل Robots.txt

این فایل ربات های خزنده موتور های جستجو را راهنمایی می کنند و به آنان می فهماند که چه دایرکتوری و لینک هایی قابل بررسی و چه دایرکتوری و لینک هایی غیرقابل برررسی می باشند...


۷۵۵
۰
۲ دی ۱۳۹۹

نود جی اس

توسعه دهندگان نود جی اس, زبان جاوا اسکریپت را از یک زبان قابل اجرا در مرورگر خارج کرده و به زبانی تبدیل کردن که بتوان آن را بصورت یه اپلیکیشن مستفل اجرا کرد و ...


۹۱۲
۰
۱۲ آذر ۱۳۹۹

وردپرس

وردپرس یک سیستم مدیریت محتوای قوی می باشد که با استفاده از آن می توان وب سایت ها و وبلاگ های گوناگونی با هر شرایطی را طراحی کرد چرا که این سیستم و ...


۸۰۸
۰
۱۳ آذر ۱۳۹۹

Fatal error: Uncaught wfWAFStorageFileException: Unable to verify temporary file contents for atomic writing. in /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php:52 Stack trace: #0 /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php(659): wfWAFStorageFile::atomicFilePutContents('/home/clonerco/...', '<?php exit('Acc...') #1 [internal function]: wfWAFStorageFile->saveConfig('livewaf') #2 {main} thrown in /home/clonerco/public_html/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/storage/file.php on line 52