آموزش AlertDialog در کاتلین

سلام دوستان عزیز در این سری از آموزش برنامه نویسی اندروید به آموزش AlertDialog در کاتلین می پردازیم کلاس AlertDialog در اندروید به منظور نمایش باکس اطلاعات یا اعلان به کاربر استفاده می شود و می تواند دارای دکمه هایی نیز باشد دکمه Positive به منظور ادامه و دکمه Negative به منظور رد شدن از AlertDialog استفاده می شود در ادامه با ما همراه باشید تا نحوه استفاده از AlertDialog را یاد گیرید.
هر AlertDialog از سه بخش کلی تشکیل می شود :

  • Title یا عنوان
  • Message یا پیام
  • Buttons یا دکمه ها

پیش نمایش

ابتدا یک دکمه در صفحه ای که می خواهید Alert نمایش دهید قرار دهید مثل زیر

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    tools:context=".MainActivity">
    <Button
        android:id="@+id/btnShowAlert"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Show Alert"/>
</LinearLayout>

در بالا یک دکمه با آیدی btnShowAlert قرار گرفته است.
کدهای مربوط به MainActivity.kt همانند زیر خواهد بود.

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
import android.app.AlertDialog
import android.content.DialogInterface
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        btnShowAlert.setOnClickListener {
            val dialogBuilder = AlertDialog.Builder(this)
            dialogBuilder.setMessage("Do you want to close this application ?")
                    .setCancelable(false)
                    .setPositiveButton("Proceed", DialogInterface.OnClickListener {
                        dialog, id -> finish()
                    })
                    .setNegativeButton("Cancel", DialogInterface.OnClickListener {
                        dialog, id -> dialog.cancel()
                    })
            val alert = dialogBuilder.create()
            alert.setTitle("AlertDialogExample")
            // show alert dialog
            alert.show()
        }
    }
}

ابتدا رویداد مربوط به کلیک دکمه فراخوانی شده است و در بدنه آن کد مربوط به ساخت Alert قرار داده شده است.
متد setMessage پیامی که می خواهید به کاربر نمایش داده شود را نمایش می دهد.
setCancelable : به منظور اینکه اگر کاربر بیرون از کادر AlertDialog کلیک کرد dialog همچنان نمایش داده شود یا خیر اگر برابر با false باشد با کلیک بیرون alert دیالوگ بسته نخواهد شد و برای true برعکس
setPositiveButton : رویداد مربوط به دکمه موافق را تنظیم می کند.
setNegativeButton : رویداد مربوط به دکمه مخالف را تنظیم می کند.
متد finish اکتیویتی را خاتمه می دهد.
در انتها create سبب ایجاد Alert شده و در نهایت آن را show می کنیم.
 
موفق و پیروز باشید.
 

مطالعه بیشتر