آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اشکال در SharedPreference از نوع Boolean و مقدار دهی اولیه true

MeHDi  11 سال پیش  11 سال پیش
0 0

با عرض سلام و درود.

در برنامه ام SharedPreference از نوع boolean ساختم که در تنظیمات xml هم مقدار Enabled را true گذاشتم. اما در هنگام اجرای اولیه برنامه این مقدار درست عمل میکنه ولی وقتی وارد صفحه تنظیمات میشم تیک مربوط به true/false خاموش میباشد! و باید یک بار اون تیک را بزنم تا اول روشن بشه و بعد از اینکه دوباره بزنم تازه خاموش میشه.

منظورم اینه که اون قسمت که تیک نخورده واقعی نیست و میخوام که تیکش در ابتدای برنامه داشته باشه. البته بعد از یکبار اجرای برنامه دیگه اون قسمت ذخیره شده و مشکلی نداره . 

در هنگام نصب اولیه برنامه فایل Preference را در گوشی روت شده دیدم و متوجه شدم که این خط مربوط به روشن بودن اصلا نیست.

 

 vibre = preferences.getBoolean("VIBRATOR", true);

این مقدار را در متد onCreate هست ولی در فایل مقدار true را ثبت نمیکنه! اما بقیه موارد اعم از String , int با دستور زیر ساخته شده و در فایل preference هست.

 

 counter = preferences.getInt("COUNT", 0);

محتوای فایل xml:

 <CheckBoxPreference 
            android:key="VIBRATOR" 
            android:title="Vibrator Setting" 
            android:summaryOn="" 
            android:summaryOff="" 
            android:enabled="true"/>

کجای کارم اشکال داره؟

پیشاپیش از دوستان خوبم تشکر دارم

+1 0
برای دوستانی که این مشکل براشون پیش اومد پاسخش اینه که باید مقدار Default Value را true بنویسن.. که متاسفانه در درس Preference استاد به این قسمت اشاره ای نشد (فکر میکنم فراموش کردن) (11 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .