آموزش برنامه نویسی اندروید با اندروید استودیو (بخش بیستم و یکم: کار با 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