سؤال

لدي شاشة تفضيلات متواضع جميلة بناء علىPreferenceActivity. وبعد (يمكنك أن ترى ذلك في DroidIn التطبيق) أواجه بعض المشاكل مع ذلك أعتقد أن القيام به مع إعادة رسم الشاشة بعد التحديثات. فيما يلي الأعراض:

  1. OnPreferenceChangeListener#onPreferenceChange إذا قمت بتغيير ملخص الأفضلية من خلال القيام به Preference#setSummary يتم رسم القيمة الجديدة فوق القديم الذي يخلق تأثير القبيح
  2. شاشة تفضيلاتي كبيرة بما يكفي أن المستخدم يجب أن التمرير. أثناء التمرير، تظهر الشاشة بأكملها جميعها، مرة أخرى تبدو وكأنها طريقة عرض Redrawn (عند التمرير) دون محو الخلفية أولا.

يتم تعريف التفضيلات في ملف XML - لا شيء غير تقليدي بعض الفئات والتفضيلات المتداخلة <PreferenceScreen/>

هل أحتاج إلى إعادة رسم الرأي بشكل صريح؟ يبدو أنه مفرط - لماذا لا يحدث ذلك بشكل افتراضي؟ لأن هذا هو تطبيق موجود - إنه يبني وتوزيعه مع V.

ملاحظة: أريد أيضا أن ذكر أن هذا السلوك يحدث في المحاكي وعلى G1 في كل من 1.1 و 1.5. يبدو أنني بحاجة إلى تسجيل الدخول كحشرة

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

المحلول

تم حل المشكلة!

اتضح أنه لأي سبب من الأسباب (ربما فقط نسخ رمز المثال دون تفكير كبير) كان لدي هذا الخط في Theme.xml الخاص بي<item name="android:windowBackground">@null</item>. وبعد بمجرد إزالةها - ذهبت مشكلة إعادة رسمي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top