احتاج مساعدة في حل هذا التحدي
انتبه فالمطلوب تعريف متغير جديد واحد فقط وان يكون public
وايضا انتبه ان String يجب ان تبدأ بحرف كبير
حاول اصلاح الاخطاء ويجب ان تحل المشكلة
هل يمكنك اعادة المحاولة مع وضع القيمة المسترجعة مباشرة داخل setText من دون اسنادها اولا الى المتغير Ahmed
انتبه انت بحاجة لان تقوم بالتعديل على sharedPreferences وليس CheckBox
وداخل putBoolean ستحدد القيمة VALUE_KEY مع true or false
وبذلك تقوم استرجاع وحفظ القيمة checkBox
انت بحاجة لاستدعاء وحفظ البيانات من خلال sharedPreferences
لذلك سوف تستخدم دالة التعديل edit على sharedPreferences وليس CheckBox
ثانيا داخل putBoolean ستحفظ قيمة CheckBox كقيمة منطقية true or false ضمن VALUE_KEY
ثم ستطبق هذه التغييرات باستخدام apply
انت تقوم بتعريف الكلاس من جديد وقد تم تعريفه مسبقا ضمن الملف sayara.jave
تحتاج ان تقوم بتعريف متغير جديد من نوع الكلاس مباشرة
انتبه حيث لايجب ان تقوم بالتعديل على الكود من الطلب السابق
يجب ان تبقى الدالة من الطلب السابقة كما هي وتضيف دالة ثانية منشئة
علما ان الدالة المنشئة يجب ان تكون بنفس اسم الكلاس ولا يمكن ان نضع اسم الدالة بين علامتي تنصيص وبشكل مماثل اسم المعامل الخاص بالدالة لايجب ان تضعه بين علامتي تنصيص
حاول اعادة المحاولة ويجب ان تتمكن من تجاوز التحدي بنجاح
انتبه فدالة refuel تم تعريفها مسبقا ولاتحتاج لكتابتها من جديد
فقط ستعدل او تضيف عليها بعض الكود لتحقق المطلوب وهو ارسال رسالة الخطأ
public class MainActivity extends Activity {
public CheckBox checkBox;
private static final String PREF_FILE="com.MainActivity.preferences";
private static final String VALUE_KEY="VALUE_KEY";
private SharedPreferences sharedPreferences ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sharedPreferences = getSharedPreferences(PREF_FILE,Context.MODE_PRIVATE);
checkBox = (CheckBox) findViewById(R.id.checkBox);
checkBox.setChecked(true);
}
@Override
protected void onPause(){
super.onPause();
sharedPreferences.edit().putBoolean(VALUE_KEY,editValue.getValue().toBoolean()).apply();
}
}
ماهو الخطا هنا ؟؟
- قائمة العناصر