Abdullha Mohammad نشر 1 أبريل 2022 أرسل تقرير نشر 1 أبريل 2022 ليش يطلع لي خطئ عند استدعاء editor.getString 1 اقتباس
1 Wael Aljamal نشر 1 أبريل 2022 أرسل تقرير نشر 1 أبريل 2022 حاول استعمال الشيفرة التالية و تجريبها سوف تخزين اسم فقط، ثم تعرضه SharedPreferences preferences1 = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = preferences1.edit(); editor.putString("Name","wael"); editor.apply(); ثم عرض إخطار بسيط: SharedPreferences preferences2 = PreferenceManager.getDefaultSharedPreferences(this); String name = preferences2.getString("Name", ""); Toast.makeText(getActivity(), "Hi! from " + name, Toast.LENGTH_LONG).show(); 2 اقتباس
1 Wael Aljamal نشر 2 أبريل 2022 أرسل تقرير نشر 2 أبريل 2022 بتاريخ 2 ساعات قال Abdullha Mohammad: طيب الحين انا ابيه يعرض لي آخر شاشه كنت فيه بعد ما أعيد فتح التطبيق ، اول شي احفظه اعمله editor.getString و ثمه اروح اسوي preferences.getString. احط كود الارتجاع في onPause و لا onStart او اتبع طريقه الأول الي علمتني فيه اعمل class و اعمل فيه return لل Fragment تعريف الصنف غير ضروري، ما شرحته كان استخدام ملف Strings في المثال.. في الشيفرة التي ارفقتها في هذه الإجابة فقط استبدل الاسم بأي شيء تريده. استخدم get في on start و put في حال حدوث تعديل لل Fragment التقط حدث التغيير و ضع الشيفرة 2 اقتباس
1 Wael Aljamal نشر 4 أبريل 2022 أرسل تقرير نشر 4 أبريل 2022 بتاريخ On 4/3/2022 at 20:15 قال Abdullha Mohammad: سويت مثل ما قلت بس طلع لي activity فاضي عند التشغيل في الدالة get مرر لها وسيط ثاني يعبر عن القيمة الافتراضية للمفتاح في حال تحميل أول Fragment لأن أول تشغيل ستكون قيمته null أي preferences.getString("Fragment", "Frag1"); بحيث إن لم يجد قيمة مقابل المفتاح يعيد مثلا Fragment 1 استبدل المفتاح و القيمة الافتراضية حسب تطبيقك 2 اقتباس
0 Abdullha Mohammad نشر 2 أبريل 2022 الكاتب أرسل تقرير نشر 2 أبريل 2022 بتاريخ On 1/4/2022 at 10:50 قال Wael Aljamal: حاول استعمال الشيفرة التالية و تجريبها سوف تخزين اسم فقط، ثم تعرضه SharedPreferences preferences1 = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = preferences1.edit(); editor.putString("Name","wael"); editor.apply(); ثم عرض إخطار بسيط: SharedPreferences preferences2 = PreferenceManager.getDefaultSharedPreferences(this); String name = preferences2.getString("Name", ""); Toast.makeText(getActivity(), "Hi! from " + name, Toast.LENGTH_LONG).show(); طيب الحين انا ابيه يعرض لي آخر شاشه كنت فيه بعد ما أعيد فتح التطبيق ، اول شي احفظه اعمله editor.getString و ثمه اروح اسوي preferences.getString. احط كود الارتجاع في onPause و لا onStart او اتبع طريقه الأول الي علمتني فيه اعمل class و اعمل فيه return لل Fragment اقتباس
0 Abdullha Mohammad نشر 3 أبريل 2022 الكاتب أرسل تقرير نشر 3 أبريل 2022 بتاريخ 20 ساعات قال Wael Aljamal: تعريف الصنف غير ضروري، ما شرحته كان استخدام ملف Strings في المثال.. في الشيفرة التي ارفقتها في هذه الإجابة فقط استبدل الاسم بأي شيء تريده. استخدم get في on start و put في حال حدوث تعديل لل Fragment التقط حدث التغيير و ضع الشيفرة سويت مثل ما قلت بس طلع لي activity فاضي عند التشغيل هذا كود الشاشه الرئيسية وفي Fragment حطيت الأكواد هذا بس غيرت في قيمه الاسم والمفتاح علي حسب الشاشه ا او ٢ او ٣ الخ... في كل Fragment اقتباس
0 Abdullha Mohammad نشر 8 أبريل 2022 الكاتب أرسل تقرير نشر 8 أبريل 2022 بتاريخ On 5/4/2022 at 02:22 قال Wael Aljamal: في الدالة get مرر لها وسيط ثاني يعبر عن القيمة الافتراضية للمفتاح في حال تحميل أول Fragment لأن أول تشغيل ستكون قيمته null أي preferences.getString("Fragment", "Frag1"); بحيث إن لم يجد قيمة مقابل المفتاح يعيد مثلا Fragment 1 استبدل المفتاح و القيمة الافتراضية حسب تطبيقك عرفت الإسم والمفتاح لوكل داخل Fragment 1 وثم في Main activity داخل onStart استدعيته بس نفس المشكله عند التشغيل يطلع شاشه ابيض اقتباس
السؤال
Abdullha Mohammad
ليش يطلع لي خطئ عند استدعاء editor.getString
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.