سؤال

أواجه مشكلة في تجميع وتشغيل نموذج ActionBarCompat لنظام Android 16.لقد تم تحديد مستوى واجهة برمجة التطبيقات (API) 16 كهدف البناء، والذي يبدو أنه يعمل بشكل جيد، ولكن عندما أحاول تصحيح هذه الأخطاء تظهر هذه الأخطاء.بالطبع يمكنني تغيير الحد الأدنى لمستوى واجهة برمجة التطبيقات (API) في البيان، ولكن ما الهدف من ذلك؟لم أقم بإجراء أي تغييرات على العينة، فلماذا لا تعمل بشكل صحيح؟

Class requires API level 14 (current min is 3): android.view.ActionProvider SimpleMenuItem.java /ActionBarCompat/src/com/example/android/actionbarcompat    line 129    Android Lint Problem

Class requires API level 14 (current min is 3): android.view.ActionProvider SimpleMenuItem.java /ActionBarCompat/src/com/example/android/actionbarcompat    line 134    Android Lint Problem

Class requires API level 14 (current min is 3): android.view.MenuItem.OnActionExpandListener    SimpleMenuItem.java /ActionBarCompat/src/com/example/android/actionbarcompat    line 155    Android Lint Problem

أنا في حيرة من أمري، سيكون موضع تقدير أي مساعدة.

تحديث:لقد أضفت التعليقات التوضيحية @TargetApi(14)، ثم أضفت Lint يدعم newApi إلى إحدى الطرق ويبدو الآن أنه يعمل بشكل جيد.أنا أكثر حيرة.هل يمكن لأي شخص أن يلقي بعض الضوء على ما يحدث؟

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

المحلول

للأسف، لا يتم تحديث هذه العينات حتى الآن لكل تكرار SDK.
-الأول شيء أولا، لقد قمت باستثناء دقيقة من sdkversion = 3؟هذا يبدو منخفضا قليلا بالنسبة لي.7 (Eclair) هل أعتقد أن الحد الأدنى للإصدار يجب أن تركز معظم المشاريع. إصدارات المستوى الأدنى لديها حصة سوقية سخيفة وسوف تظل تنخفض.

، هناك تحذيرات لينت.Lint هو Kinda جديد في Android، وهذا هو السبب في أن هذه العينة لا تأخذ في الاعتبار.يخبرك عن المشاكل المحتملة في التعليمات البرمجية الخاصة بك.هذا التحذير يعني أنك تدعو فئة المستوى 14 في التعليمات البرمجية التي يمكن تشغيلها في محطة 3 مستوياتها.يجب أن تحاول إزالتها بشخصية GransoSodicetagCode.يخبر هذا التعليق التوضيحي لينت أن تعرف ما الذي تقوم به وسيتم تشغيل هذا الرمز فقط لإصدار SDK= 14 في الحد الأدنى.

salto، إذا كنت ترغب في استخدام ActionBar مع أي إصدار من Android، فإن ما تريد حقا استخدامه هو مكتبة SHERLOCK SHERLOCK مفتوحة المصدر.خطوة واحدة في وقت واحد: -)

نصائح أخرى

في بيانك، أنت تحدد android:minSdkVersion="3", ، ومع ذلك فأنت تقوم بإجراء مكالمات إلى فئات/طرق المستوى 14 من واجهة برمجة التطبيقات (API).

سوف يقوم Lint بالتحقق من هذه الأنواع من مكالمات API ويعطيك تحذيرًا.

ومن الواضح في ActionBarCompat يتم فحص مستوى واجهة برمجة التطبيقات (API) الحالي للتأكد من أنه آمن لإجراء المكالمة.

لإزالة التحذير، قم ببساطة بإضافة @TargetApi(14) قبل الطريقة التي تجري بها المكالمة.

تحتاج إلى تغيير هدف بناء المشروع إلى مستوى API 14. في (Project-> خصائص -> Android)

هذه هي متطلباتها:

بسبب استخدام شريط الإجراءات الأصلية والفئات ذات الصلة على ساندويتش الآيس كريم، تتطلب المكتبة أن كلاهما يتم تجميعها ومشروعكAndroid 4.0 أو أحدث .يتطلب المشروع أيضا أن تقوم بتجميع مع JDK 1.6 في كل من المحرر وأي أنظمة بناء قد تستخدمها.

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