View Full Version : جلوگیری از بسته شدن آلرت دیالوگ
hamedg1366
پنج شنبه 11 تیر 1394, 20:21 عصر
با عرض سلام و ادب خدمت همه دوستان عزیز
کل سوال :
چطور از بسته شدن آلرت دیالوگ بعد از زدن دکمه های setPositiveButton و ... جلوگیری کنم
تشریح :
توی برنامه ای نیاز دارم یه الرت دیالوگ باز کنم و اطلاعاتی رو از مخاطبم بگیرم ، حالا اگه مخاطب شیطونم اومد بدون وارد کردن اطلاعات اوکی رو زد میام چک میکنم میفهمم ورودی ندارم دوباره دیالوگ رو میارم بالا اما اصولی نیس
(اومدیم 10 تا ورودی رو 9 تاش رو وارد کرد دستش خورد رو اوکی و یا هزتر تا اتفاق دیگه)
دوستان لطفا کمک کنن
تشکر میکنم از همتون
final AlertDialog.Builder builder = new AlertDialog.Builder(c);
hamedg1366
پنج شنبه 11 تیر 1394, 22:45 عصر
از این تکه کد استفاده کردم اما متاسفانه بسته شد
builder.setPositiveButton("Test",
new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
builder.setCancelable(false);
Log.i("BBBBBBBBBBBBBBBB", "BBBBBB&&&&&&&&&&&&&&&");
}
});
hamedg1366
پنج شنبه 11 تیر 1394, 23:14 عصر
میشه دکمه رو غیر فعال یا INVESIBAL کرد تا تمام اطلاعات رو گرفت بعد نمایش داد یا فعال کرد ؟
armin8651
جمعه 12 تیر 1394, 15:23 عصر
یک فکر به ذهن من رسید اینه که هر editText که داره پر میشه همون لحظه با shared pereferences محتوی اون رو ذخیره کنی و اگه در ادامه برای این دیالوگ خطا دادی و خواستی دوباره دیالوگ رو باز کنی اون وقت editText رو با اطلاعات ذخیره شده پر کنی.
hamedg1366
جمعه 12 تیر 1394, 17:38 عصر
با تشکر فراوان از شما دوست عزیز که از همفکری خود منو دریغ نکردید. (این کار همیشه در خاطرم میمونه)
جواب های زیادی برای جلوگیری از این اتفاق پیدا کردم اما از اونجائی که آلرت دیالوگم رو خیلی پیچیده کرده بودم فقط این لینک به دردم خورد (http://solvedstack.com/questions/how-to-disable-enable-dialog-negative-positive-buttons)، امیدوارم بدرد شما هم بخوره
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setPositiveButton(android.R.string.ok, null);
AlertDialog dialog = builder.create();
dialog.setOnShowListener(new OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
if(condition)
((AlertDialog)dialog).getButton(AlertDialog.BUTTON _POSITIVE).setEnabled(false);
}
});
بعد از انجام گیری کار
((AlertDialog) dialog).getButton(
AlertDialog.BUTTON_POSITIVE).setEnabled(true);
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.