سؤال

كان لدي تطبيق بسيط وقمت الآن بتغييره ليصبح أكثر احترافية...الآن أريد أن يدخل كل جزء من تطبيقي في ملف ViewPager بدلاً من الاختباء تحت الأزرار، جزء من تطبيقي هو FileManager الذي تم تمديده Activty, ، لقد غيرت ذلك إلى يمتد FragmentActivty للعمل مع ViewPager مع عدم وجود نجاح على كل حال.

سؤالي هو:هل من الممكن استخدام نوع آخر من الأجزاء بدلاً من Fragment ل ViewPager على الاطلاق؟

هل يجب أن أقوم بترميز FileManager الخاص بي من الصفر!!!؟؟؟هل هناك أي بديل؟

يحرر :أريد إنشاء شيء مثل هذا تقريبًا برنامج

@Override
    public Fragment getItem(int position) {
        switch (position) {
        case 0: 
            return FragmentClass.newInstance(0, "Page # 1");
        case 1: 
            return FragmentClass.newInstance(1, "Page # 2");
        case 2: 
            return FileDialog.newInstance(2, "FileManager");
//Here is my problam, that says "Type mismatch: cannot convert from FileDialog to Fragment"
//It wants Fragment type
            default:
                return null;
            }
        }
هل كانت مفيدة؟

المحلول

FragmentActivity ليس جزءًا، إنه نشاط خاص في مكتبات الدعم والذي يسمح لك باستخدام الأجزاء في الإصدارات الأقدم من Android.لسوء الحظ لا يمكنك وضع FragmentActivity في ViewPager.يجب عليك الفئات المشتقة من فئة Fragment في مكتبة الدعم إذا كنت تنوي استخدام ViewPager لأن ViewPager موجود فقط في مكتبة الدعم.

للتوضيح بشأن الأجزاء، هناك فئتان مختلفتان من الفئات الفائقة للأجزاء التي ستواجهها (كلاهما يسمى Fragment).الفرق هو أن أحدهما من مكتبات Android العادية والآخر من مكتبات الدعم.أنت بحاجة إلى أجزاء مشتقة من الفئة الفائقة Fragment في مكتبات الدعم (android.support.v4.app.Fragment) إذا كنت تريد استخدامها مع ViewPager.

نصائح أخرى

الجزء نفسه عبارة عن فئة فائقة، ويمكن استخدامه بطرق مختلفة.

قم بإلقاء نظرة على مستندات المطور على الأجزاء لتنفيذها، وأفضل الممارسات من حيث الاستخدام.ما لم تكن تبحث عن مكتبة محددة جدًا لتطبيقك، فلن تحتاج إلى إعادة اختراع العجلة.

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