Я разрабатываю приложение, разделенное на одну библиотеку и два приложения :1 для телефонов, другое для планшетов. Большая часть кода и макета определена в библиотеке, и только несколько частей определены в приложениях.
Я использую фрагменты в Activity
с ViewPager
для макета версии телефона (и активности, определенной в библиотеке, используемой без изменений в телефонном приложении ). Для версии для планшета я хочу показать свои фрагменты (2 )рядом, а не в ViewPager
, поэтому я попытался построить XML-макет вот так:
<....>
<LinearLayout
android:id="@+id/fragmentsParent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<fragment
android:id="@+id/f1"
android:class="com.test.Fragment1"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1" />
<fragment
android:id="@+id/f2"
android:name="com.test.Fragment2"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
</....>
Моя проблема в том, что код работает в моем приложении для телефона, но не в приложении для планшета. На этом я получаю этот стек исключений:
07-11 17:41:14.032: E/AndroidRuntime(14754): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
07-11 17:41:14.032: E/AndroidRuntime(14754): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1782)
07-11 17:41:14.032: E/AndroidRuntime(14754): ... 11 more
07-11 17:41:14.032: E/AndroidRuntime(14754): Caused by: java.lang.ClassCastException: com.test.Fragment1 cannot be cast to android.app.Fragment
07-11 17:41:14.032: E/AndroidRuntime(14754): at android.app.Fragment.instantiate(Fragment.java:560)
07-11 17:41:14.032: E/AndroidRuntime(14754): at android.app.Fragment.instantiate(Fragment.java:535)
07-11 17:41:14.032: E/AndroidRuntime(14754): at android.app.Activity.onCreateView(Activity.java:4168)
07-11 17:41:14.032: E/AndroidRuntime(14754): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:664)
Сообщения об ошибках говорят о android.app.Fragment
там, где я ожидал android.support.v4.app.Fragment
.
После поиска в Интернете я проверил эти пункты:
android.support.v4.app.FragmentActivity
,android.support.v4.app.Fragment
,