سؤال

لقد كنت أحاول تنفيذ "المتقدمة" tabwidget. مثال من جوجل. ولكن، عندما يحاول الاتصال tabHost.addTab(spec); أحصل على تتبع مكدس من مصحح الأخطاء. عذرا، ليس لدي تتبع المكدس هنا، لكنني أتساءل عما إذا كان للآخرين هذه المشكلة نفسها (نظرا لأن هذا الرمز كان لديه عدد من المعلومات المطبعية والمفقودة التي أوقفني من تجميعها.

هل يمكن لأي شخص أن يوجهني إلى إصدار تصحيح / تشغيل من هذا الرمز؟

المعلومات المحدثة اللازمة هي:

<activity android:name=".ArtistsActivity"></activity>
<activity android:name=".AlbumsActivity"></activity>
<activity android:name=".SongsActivity"></activity>
هل كانت مفيدة؟

المحلول

الحالي مثال تحرير على موقع مطوري Android يحتوي على خطأ واحد ويترك أيضا خطوة مهمة تمنع المثال من التشغيل.

أولا إيقاف التشغيل: في طريقة OnCheate () التي تتم إضافتها إلى محاولات Class HelloTabWidget لاستخدام كائن Tabhost يسمى Mtabhost. هذا غير صالح، يجب أن يكون tabhost.

ثانيا: يترك البرنامج التعليمي التفاصيل التي تحتاجها لإضافة كل أنشطة من الأنشطة أيضا AndroidManifest.xml. بدون هذا الرمز لن يعمل وستحصل على "قوة إغلاق" في كل مرة تحاول فيها التنفيذ.

نصائح أخرى

قضيت الساعة الأخيرة أو نحو ذلك في هذا البرنامج التعليمي. إليك المشكلات والإصلاحات التي تعاملت معها:

الخطوة 2: عند إنشاء أنشطتك، إذا لم تقم بإنشائها من خلال البيان، فستحتاج إلى إضافتها إلى البيان يدويا.

أضف هذه الأسطر إلى Androidmanifest.xml:

  <activity android:name=".AlbumsActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
        </activity>
  <activity android:name=".ArtistsActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
        </activity>
          <activity android:name=".SongsActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
        </activity>

الخطوه 3: فقط تعليمات فقط لإنشاء ملف ic_tab_artists.xml. ستحتاج إلى إنشاء واحدة ل IC_TAB_SONGS.XML و IC_TAB_ALBUMS.XML أيضا. يمكنك فقط تكرار IC_TAB_Artists.xml (أو تغيير مواصفات علامة التبويب HelloTabView.java لاستخدام ملف الفنانين. xml لكل علامة تبويب).

الخطوة 4: الثالث إلى السطر الأخير تحت / الدقة / التصميم / الرئيسي لديه خطأ مطبعي (أ؛ بدلا من :)

      android:padding="5dp" />
    </LinearLayout>
</TabHost>

الخطوة 6: هناك خطأ مطبعي يستخدم المكالمات mtabhost بدلا من tabhost. غيره.

كما ذكر بالفعل وظيفة getintent () على السطر الأخير غير مناسب. أنا فقط استدعاء علامة التبويب بناء على معرف الأمر. على سبيل المثال:

tabHost.setCurrentTabByTag("albums");

أيضا

android:theme="@android:style/Theme.NoTitleBar"

لا يعمل من أجلي، إذا استبدلته

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

أنه يعمل بشكل جيد.

المثال، كما تصحيح TED، يعمل أيضا إذا كانت الأنشطة الثلاثة لا تتضمن الخط:

android:theme="@android:style/Theme.NoTitleBar"

هذا مفيد إذا كنت تريد شريط عنوان بالإضافة إلى تسميات علامة التبويب.

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