gpt4 book ai didi

android - ClassCastException : CustomFragment cannot be cast to android. app.Fragment/使用 android.support.v4.app.Fragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:07:11 25 4
gpt4 key购买 nike

我正在开发一个分为一个库和两个应用程序的应用程序:一个用于手机,另一个用于平板电脑。库中定义了很多代码和布局,应用程序中只定义了一小部分。

我在 Activity 中使用 fragment ,手机版本有一个 ViewPager(布局和 Activity 在库中定义,在手机应用程序中使用时没有变化).对于平板电脑版本,我想并排显示我的 fragment (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

在网上搜索后,我检查了以下几点:

  • 我的 Activity 扩展 android.support.v4.app.FragmentActivity
  • 我的 fragment 扩展android.support.v4.app.Fragment
  • 我的应用程序使用 support.v4 库。

最佳答案

您的 Activity 必须由 FragmentActivity 扩展。

关于android - ClassCastException : CustomFragment cannot be cast to android. app.Fragment/使用 android.support.v4.app.Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11436758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com