مشخصات مقاله
-
2084
-
0.0
-
5130
-
0
-
0
آموزش دیالوگ Alert Dialog در اندروید
آموزش دیالوگ Alert Dialog در اندروید
آموزش دیالوگ هشدار
بعضی اوقات در برنامه ی خود اگر بخواهید از یوزر خود بخواهید تصمیمی بگیرد و گزینه بله یا خیر را انتخاب کند که یا عمل خاصی انجام شود و یا در همان برنامه باقی بماند، می توانید از دیالوگ هشدار استفاده کنید.
برای ساختن یک دیالوگ هشدار لازم است که آبجکتی از AlertDialogBuilder با یک گروه داخلی AlertDialog بسازید. ترکیب آن در زیر ارائه شده است .
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
اکنون شما باید دکمه ی مثبت (yes) یا منفی (no) را با استفاده از آبجکت گروه AlertDialogBuilder تنظیم کنید. ترکیب آن در زیر ارائه شده است.
alertDialogBuilder.setPositiveButton(CharSequence text, DialogInterface.OnClickListener listener)
alertDialogBuilder.setNegativeButton(CharSequence text, DialogInterface.OnClickListener listener)
علاوه بر این می توانید از عملکردهای ارائه شده توسط گروه سازنده استفاده کنید تا دیالوگ هشدار را به دلخواه خود بسازید. این عملکردها در زیر ارائه شده اند.
پس ایجاد و تنظیم سازنده ی دیالوگ، با فراخواندن روش create() از گروه سازنده، یک دیالوگ هشدار ایجاد خواهید کرد که ترکیب آن عبارت است از
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
این ترکیب دیالوگ هشدار ایجاد خواهد کرد و آن را روی صفحه نمایش خواهد داد.
مثال زیر AlertDialog را در اندروید توضیح می دهد. این مثال از سه فعالیت متفاوت برای توضیح آن استفاده می کند. دیالوگ از شما می پرسد که به سمت انجام فعالیت، انجام ندادن آن یا کنسل کردن آن بروید. برای انجام آزمایشبا این مثال شما نیازبه یک دستگاه حقیقی و یا یک مقلد دارید.
در اینجا کد تغییر یافته ی of src/com.example.alertdialog/MainActivity.java ارائه شده است.
package com.example.alertdialog;
import com.example.alertdialog.*;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void open(View view){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setMessage(R.string.decision);
alertDialogBuilder.setPositiveButton(R.string.positive_button,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
Intent positveActivity = new Intent(getApplicationContext(),com.example.alertdialog.PositiveActivity.class);
startActivity(positveActivity);
}
});
alertDialogBuilder.setNegativeButton(R.string.negative_button,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent negativeActivity = new Intent(getApplicationContext(),com.example.alertdialog.NegativeActivity.class);
startActivity(negativeActivity);
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
در اینجا کد پیش فرض src/com.example.alertdialog/PositiveActivity.java را مشاهده می کنید.
package com.example.alertdialog;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class PositiveActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_positive);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.positive, menu);
return true;
}
}
در اینجا کد پیش فرض src/com.example.alertdialog/NegativeActivity.java را مشاهده می کنید.
package com.example.alertdialog;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class NegativeActivity
extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_negative);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.negative, menu);
return true;
}
}
در اینجا کد تغییر یافته ی res/layout/activity_main.xml را مشاهده می کنید.
RelativeLayout>
در اینجا کد تغییر یافته ی res/layout/activity_positive.xml را مشاهده می کنید.
RelativeLayout>
در اینجا کد تغییر یافته ی Strings.xml را مشاهده می کنید.
در اینجا کد پیش فرض AndroidManifest.xml را مشاهده می کنید.
intent-filter> activity> activity> activity> application> manifest>
اجازه بدهید برنامه ی دوربین شما را اجرا کنیم. فرض می کنیم که دستگاه موبایل خود را به کامپیوتر متصل کرده اید.برای اجرای برنامه از Eclipse یکی ازفایل های فعالیت برنامه ی خود را باز کرده و از تول بار روی آیکن Run کلیک کنید. قبل ازشروع برنامه Eclipse پنجره ی زیر را برای انتخاب یک گزینه، جایی که برنامه ی اندروید خود را اجرا می کنید، ارائه خواهد داد.
دستگاه موبایل خود را به عنوان یک گزینه انتخاب کنید و سپس آن را چک کنید که صفحه ی زیر را نمایش می دهد.
اکنون روی دکمه ی Hello world بزنید و جعبه هشدار را مشاهده کنید که چیزی شبیه به تصویر زیر خواهد بود.
اکنون یکی از دو گزینه را انتخاب کنید و فعالیت مربوط را مشاهده کنید که در حال بارگذاری میباشد. اگر دکمه ی مثبت را انتخاب کنید صفحه ای مانند تصویر ظاهر خواهد شد.
اکنون دکمه ی بازگشت روی دستگاه را زده و گزینه ی منفی را انتخاب کنید که این بار صفحه ی زیر نمایش داده خواهد شد.