بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ایجاد دکمه " دیگه نشون نده " یا " dont show again "
سلام. ظهر همتون بخیر
بنده یه تابع تعریف کردم. که هروقت روی دکمه بازگشت کلیک شد ( onBackPressed ) یه دیالوگ باز بشه. بعد توی اون دیالوگ گفتم که هروقت روی کلمه " دیگه نشون نده " کلیک شد، توسط SharedPrefrencess عدد 1 توی یه فیلدی ذخیره بشه. حالا موقعی که دوباره کاربر برنامه رو اجرا می کنه و دکمه Back رو میزنه، این از تو SharedPrefrencess چک میکنه اگه فیلد عدد 1 بود، دیگه دیالوگ رو نشون نده. همه چی طبق برنامه پیش میره. اما وقتی یه تغییری تو برنامه می دم و eClipse رو ذخیره میکنم و رو امولاتور اجرا می کنم، دیگه اون دستور ایف کار نمیکنه یا بهتر بگم shared prefrences نمی دونم چه بلایی سرش میاد!
کد oBackPressed:
@Override
public void onBackPressed() {
SharedPreferences pref = getApplicationContext().getSharedPreferences("Votecheck", 0);
Editor editor = pref.edit();
checkme=pref.getString("check_show", null);
if(checkme=="1"){
finish();
}else{
openAlert();
}
}
اینک کد openAlert:
private void openAlert() {
// For the Holo one on 3.0+ devices, fallback on 1.x/2.x devices:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
context = new ContextThemeWrapper(Main.this, android.R.style.Theme_Holo_Light);
} else {
context = new ContextThemeWrapper(Main.this, android.R.style.Theme_Dialog);
}
new AlertDialog.Builder(context)
.setTitle("Dialo Tittle")
.setMessage("Dialog Message")
.setNegativeButton("دیگه نشون نده", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Handle a negative answer
SharedPreferences pref = getApplicationContext().getSharedPreferences("Votecheck", 0);
Editor editor = pref.edit();
editor.putString("check_show", "1");
editor.commit(); // commit changes
finish();
}
})
.show();
}
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
sadra
11 سال پیش
+1
0
خب، مشکل حل شد :D
بجای 1 در فیلد chek_show " یه عبارت استرینگ گذاشتم
درواقع بجای:
editor.putString("check_show","1");
نوشتم:
editor.putString("check_show","false");
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .