نشاط الروبوت الطفل تحديثات قاعدة البيانات على أونديستروي والوالد يقرأ على أونريسوم
-
12-12-2019 - |
سؤال
لدي 2 الأنشطة أ - > ب.أ هو النشاط الأصل و ب مثل "الإعدادات".في ب يقوم المستخدم ببعض الخيارات التي تقوم بتحديث قاعدة بيانات التطبيق.يجب أن تقرأ قاعدة البيانات لتعيين بعض تكستفيوس وفقا لذلك.
ما اعتقدت أن العمل هو هذا:في ب يحدد المستخدم خياراته (باستخدام بعض أزرار تبديل) وعلى وظيفة أونديستروي تتم قراءة حالة الأزرار ويتم تحديث دب (ليس لدي "إرسال زر التغييرات" ، لذلك يمكنني استخدام أونديستروي).ثم على وظيفة أونريسوم من أدعو الروتين الذي يقرأ دب وتحديث الحقول.
المشكلة هي أن التغييرات غير مرئية في أ.ولكن إذا ذهبت مرة أخرى إلى ب والعودة إلى أ دون أي تغييرات جديدة ثم التغييرات مرئية وصحيحة.
إذن ما هو الخطأ ويجب القيام به?يمكنني استخدام نشاط وهمي بين أ و ب وقد يعمل هذا ، لكنني لا أعرف ما إذا كان هذا تنفيذا جيدا..شكرا لكم مقدما!
المحلول
حاول بدلا من onDestroy()
طريقة على سبيل المثال onPause()
أو onStop()
الطريقة.وانظر إلى هذا:
نصائح أخرى
إذا كنت لا ترغب في تنفيذ زر إرسال ، سيكون من الأفضل تحديث قاعدة البيانات الخاصة بك في onPause()
بدلا من onDestroy()
.
@Override
protected void onPause() {
super.onPause();
if (isFinishing()) {
//Database updates here
}
}
}