نشاط الروبوت الطفل تحديثات قاعدة البيانات على أونديستروي والوالد يقرأ على أونريسوم

StackOverflow https://stackoverflow.com//questions/9672688

سؤال

لدي 2 الأنشطة أ - > ب.أ هو النشاط الأصل و ب مثل "الإعدادات".في ب يقوم المستخدم ببعض الخيارات التي تقوم بتحديث قاعدة بيانات التطبيق.يجب أن تقرأ قاعدة البيانات لتعيين بعض تكستفيوس وفقا لذلك.

ما اعتقدت أن العمل هو هذا:في ب يحدد المستخدم خياراته (باستخدام بعض أزرار تبديل) وعلى وظيفة أونديستروي تتم قراءة حالة الأزرار ويتم تحديث دب (ليس لدي "إرسال زر التغييرات" ، لذلك يمكنني استخدام أونديستروي).ثم على وظيفة أونريسوم من أدعو الروتين الذي يقرأ دب وتحديث الحقول.

المشكلة هي أن التغييرات غير مرئية في أ.ولكن إذا ذهبت مرة أخرى إلى ب والعودة إلى أ دون أي تغييرات جديدة ثم التغييرات مرئية وصحيحة.

إذن ما هو الخطأ ويجب القيام به?يمكنني استخدام نشاط وهمي بين أ و ب وقد يعمل هذا ، لكنني لا أعرف ما إذا كان هذا تنفيذا جيدا..شكرا لكم مقدما!

هل كانت مفيدة؟

المحلول

حاول بدلا من onDestroy() طريقة على سبيل المثال onPause() أو onStop() الطريقة.وانظر إلى هذا:

enter image description here

نصائح أخرى

إذا كنت لا ترغب في تنفيذ زر إرسال ، سيكون من الأفضل تحديث قاعدة البيانات الخاصة بك في onPause() بدلا من onDestroy().

@Override
    protected void onPause() {
        super.onPause();    
            if (isFinishing()) {
                //Database updates here
            }
        }
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top