TabActivity в проекте библиотеки, ошибка android.R.id.tabhost не найдена - PullRequest
0 голосов
/ 07 февраля 2011

Я пытаюсь создать шаблон / класс BaseActivity для использования другими разработчиками как часть фреймворка.

Я расширил свой класс с помощью TabActivity, и мой xml выглядит следующим образом /

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout android:orientation="vertical"
        android:layout_width="fill_parent" android:layout_height="fill_parent">
        <View android:layout_width="fill_parent" android:layout_height="0dip"
            android:background="#000" />
        <TabWidget android:id="@android:id/tabs"
            android:layout_width="fill_parent" android:layout_height="wrap_content"
            android:layout_marginLeft="0dip" android:layout_marginRight="0dip" />
        <View android:layout_width="fill_parent" android:layout_height="2dip"
            android:background="#696969" />
        <View android:layout_width="fill_parent" android:layout_height="1dip"
            android:background="#fff" />
        <FrameLayout android:id="@android:id/tabcontent"
            android:layout_width="fill_parent" android:layout_height="fill_parent" />
    </LinearLayout>
</TabHost>

Когда я использую это действие, расширяя в другом проекте, я получаю сообщение об ошибке, не могу получить android.R.id.tabhost, и это необходимо.

Это происходит, даже если яВызовите getTabHost () или findViewById () в обоих сценариях.

Обратите внимание: я пробовал это, не расширяя TabActivity, для использования представлений в tab.Работает нормально.Но я хочу использовать действия в качестве содержимого моей вкладки.

Я думаю, что это проблема, когда мы создаем проект библиотеки и включаем его.

Пожалуйста, дайте мне знать, если вам нужно больше объяснений илиесли вы знаете какие-то обходные пути, пожалуйста, предложите.

1 Ответ

2 голосов
/ 18 февраля 2011

Я справился с проблемой.Предоставил библиотечный класс, который требует, чтобы пользователь передавал текущий экземпляр действия в мою templateLibrary.

Он вызывает установку Conetnt как одного из файла макета, содержащего вкладку Android.Затем найдите вкладку хоста.

Дайте мне знать, если кто-то хочет получить более подробную информацию об этом.Если вы разрабатываете фреймворк, предоставляющий макет пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...