آموزش برنامه نویسی اندروید با اندروید استودیو (بخش بیستم و یکم: کار با AlertDialog در اندروید [قسمت دوم] )

استاندارد

در این بخش از آموزش، می خواهیم قسمت دوم کار با Alert Dialog را به شما آموزش دهیم.

دیدیم که در قسمت اول این آموزش، با زدن دکمه Button دیالوگ هشداری به ما نشان داده می شد.

در این بخش به دیالوگی که ساخته بودیم، دو دکمه اضافه می کنیم و برای هر دکمه یک رویداد معرفی می کنیم.

ما پروژه قبلی AlertDialog را باز می کنیم تا ادامه کار را بر روی آن انجام دهیم.

در ابتدا وارد قسمت کدنویسی جاوا یعنی MainActivity می شویم.

کاری که می خواهیم انجام دهیم اینست که دو دکمه به دیالوگ قبلی معرفی کنیم. برای این کار از دو دستور setPositiveButton و setNegativeButton استفاده می کنیم.

اگر عملی که در دیالوگ می خواهیم انجام دهیم مثبت باشد (Yes) از setPositiveButton استفاده می کنیم و اگر آن عمل یا رویداد منفی باشد (No)، از setNegativeButton استفاده خواهیم کرد.

بعد از این که دستور setPositiveButton را نوشتیم، یک مقدار Text برای نمایش از ما می خواهد.

همچنین یک Listener برای این که در هنگام زدن دکمه عملی یا رویدادی را انجام دهد نیز باید نوشته شود.

اگر آموزش قبلی ما را دیده اید و بر اساس آن جلو می روید، دو تابع setPositiveButton و setNegativeButton را قبل از ()dialog.show اضافه نمایید. کد این دو تابع در زیر آورده شده است.

 

dialog.setPositiveButton("بلی", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this,"خارج شدید", Toast.LENGTH_LONG).show();

                    }
                });

dialog.setNegativeButton("خیر", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        Toast.makeText(MainActivity.this,"باتشکر", Toast.LENGTH_LONG).show();

                    }
                });

قدم به قدم

ولی اگر این آموزش را بار اول است که اجرا می کنید، در ابتدا یک دکمه با ایدی Button ایجاد نمایید.

سپس با استفاده از کد زیر، دکمه Button را با استفاده از آیدی به قسمت MainActivity معرفی کنید. (این عملیات در رویداد onCreate نوشته شود)

final Button button1 =  (Button)findViewById(R.id.button);

برای نوشتن کلاس AlertDialog نیز، کد زیر را معرفی کنید تا در هنگام زدن دکمه، AlertDialog پیکربندی شده و اجزای آن معرفی شود.

button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
                dialog.setTitle("Gsm Developers");
                dialog.setMessage("آیا می خواهید ادامه دهید؟");

 

سپس در ادامه عملیات دو تابع setPositiveButton و setNegativeButton را می نویسیم:

dialog.setPositiveButton("بلی", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this,"بسیار خوب است", Toast.LENGTH_LONG).show();

                    }
                });

                dialog.setNegativeButton("خیر", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        Toast.makeText(MainActivity.this,"با تشکر از شما", Toast.LENGTH_LONG).show();

                    }
                });

در آخر نیز با استفاده از کد ()dialog.show به AlertDialog می گوییم که ظاهر شود!

dialog.show();

کد کلی به صورت زیر است:

 

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button button1 =  (Button)findViewById(R.id.button);

        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
                dialog.setTitle("Gsm Developers");
                dialog.setMessage("آیا می خواهید ادامه دهید؟");

                dialog.setPositiveButton("بلی", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this,"بسیار خوب است", Toast.LENGTH_LONG).show();

                    }
                });

                dialog.setNegativeButton("خیر", new DialogInterface.OnClickListener() {

                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                        Toast.makeText(MainActivity.this,"با تشکر از شما", Toast.LENGTH_LONG).show();

                    }
                });
                dialog.show();

            }
        });
    }
}

اگر کد را اجرا نمایید خروجی شما به صورت زیر خواهد بود.

android-studio-beginners-gsm-developers_66

آموزش برنامه نویسی اندروید با اندروید استودیو (بخش بیستم: کار با AlertDialog در اندروید)

استاندارد

بحث آموزشی امروز در مورد Alert Dialog ( آلرت دیالوگ) در اندروید است.

اما Alert Dialog چیست؟ Alert Dialog برای هشدار به کاربر به کار می رود.

گاهی اوقات می خواهیم مثلا به کاربری که یک دکمه را فشار داده، هشداری بدهیم. این هشدار می تواند به دلایل متعددی باشد. مثلا بگوید :”آیا مطمئن هستید که می خواهید ادامه دهید؟”

در این گونه موارد از Alert Dialog به عنوان هشدار و یا دادن اطلاعات به کاربر استفاده می شود.

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

یک پروژه جدید با اسم GSM_AlertDialog ایجاد می کنم.

از قسمت پالت ها یک دکمه (Button) به لایه اپلیکیشن، اضافه می کنم.

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

به کد جاوای برنامه می رویم، سپس کد زیر را به آن اضافه می کنیم. تا اینجا مطلب جدیدی گفته نشد و در مورد کد زیر اگر جایی مشکل داشتید به بخش یازدهم مراجعه کنید.

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
//کلاس اصلی جاوا
public class MainActivity extends AppCompatActivity {
//onCreate تابع
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//تا ایتجای کد را شما هم داشتید
//از اینجا به بعد کدی است که شما باید به کد اصلی خود اضافه کنید
//معرفی دکمه با استفاده از آیدی 
        final Button button1 =  (Button)findViewById(R.id.button);
//این دستور در هنگام زدن دکمه اجرا شده و هر کدی که در آن بنویسیم اجرا می شود
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
//کدی که می خواهیم وقتی دکمه را می زنیم اجرا شود
//این قسمت بعدا پر می شود

            }
        });
    }
}

در قسمت بالا در قسمتی که گفته شده است:”این قسمت بعدا پر می شود” کد زیر را اضافه کنید. کد زیر در هنگام زدن دکمه Button، اجرا می شود.

AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("Gsm Developers");
dialog.setMessage("به آموزش برنامه نویسی اندروید جلسه بیستم خوش آمدید");
dialog.show();

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

پس ابتدا AlertDialog مورد نظر را می سازیم. سپس اسمی برای دیالوگ (چیزی که می خواهیم نمایش داده شود) انتخاب می کنیم را dialog می گذاریم. در مراحل بعدی با نوشتن کلمه dialog و سپس زدن یک نقطه، می توان پیکربندی AlertDialog اصلی برنامه را تنظیم نمود. مثلا با کد dialog.setTitle آرگومانی به صورت رشته به این تابع می فرستیم که این آرگومان تعیین کننده عنوانی است که در AlertDialog نوشته خواهد شد.

با نوشتن کد dialog.setMessage پیامی که می خواهیم در AlertDialog نمایش داده شود، را می نویسیم.

در آخر باید AlertDialog مورد نظر نمایش داده شود پس با کد dialog.show می توان AlertDialog را به اجرا در آورد.

تصویری از کد برنامهandroid-studio-beginners-gsm-developers_64

برنامه را اجرا می کنیم.

خروجی شما، پس از زدن دکمه Button ، به صورت زیر خواهد بود:

android-studio-beginners-gsm-developers_65