العودة إلى موقع برمج

حل التحدي البرمجي : المهمة 2 من 3 درس حفظ حالة ال activity

#1

هل يمكنك ان تقول لي اين الخطأ هنا ؟؟


وشكرا جزيلا

#2

انتبه فان دالة onSaveInstanceState قد تم تعريفها مسبقا ولاحاجة لإعادة كتابتها
ولديك خطأ باسم المتغير NSME_KEY

ما هو الخطأ في هذا التحدي
#3

لقد قمت بمسح السابق وذهبت لدالة onSaveInstanceState الموجودة مسبقا واستكملت باقي الكود لكنه يظهر لي خطأ مره اخرى . فأين هو الخطأ؟؟

#4

ممتاز ولكن لديك خطأ صغير حيث ان الاسم المطلوب هو Ahmad وليس Ahmed

1 Like
#5

ما الخطأ هنا ؟؟؟؟

#6

يمكنك اجراء عملية الحفظ مباشرة داخل setText من دون الحاجة لnameTextView

#7

مازال الجواب خاطئاً


فما الخطأ؟؟

#8

اقصد كما كتبت السطر الاخير في حلك الاول صحيح ولكن لاتحتاج الى السطر الذي قبله حيث يمكنك كتابته مباشرة ضمن setText للحفظ

#9

ما زال الجواب خطأ

وجربت ايضا الافتراض الاخر


لكنه ما زال خطأ.
فما هو الصحيح ؟؟
وشكرا جزيلا

#10

لقد نقلت الحل لدالة onRestoreInstanceState لكنه الجواب لا يظل خطأ

#11


كما حللت هنا ولكن اكتب
savedInstantState.getString(NAME_KEY)
مباشرة ضمن nameTextView.setText وليس هناك حاجة لاستخدام الوسيط nameTextView كما فعلت

ارجو المساعدة في الحل
#12

لقد جربت ذلك لكن لا يزال خطأ

1 Like
#13

يجب ان يتم الحفظ داخل دالة onSaveInstanceState
وليس onRestoreInstanceState

#14

الخطأ لديك انك نسيت علامتي التنصيص في NAME_KEY

  nameTextView.setText(savedInstanceState.getString("NAME_KEY"));
#15

ما المشكله هنا

public TextView nameTextView;
public final static String NAME_KEY = "NAME_KEY";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    nameTextView = (TextView) findViewById(R.id.textView);
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
  outState.putstring(NAME_KEY,"Ahmad");
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);

}

}

#16

الكود يبدو صحيح هل من الممكن وضع صورة Screenshot توضح حلك ضمن التحدي لنتمكن من تحديد السبب الممكن للخطأ وظهور نتيجة خاطئة للتحدي

#18

#19

لديك خطأ بسيط حيث ان putString يجب ان تكون بحرف S كبير