使用带有FragmentActivity和ActionBarSherlock的YouTubePlayerFragment时出现异常

时间:2013-01-01 22:57:44

标签: android android-fragments youtube-api android-actionbar

我正在尝试使用新的YouTube Player API for Android实现布局。目前,我有一个简单的布局:     

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
  <fragment
      android:name="com.google.android.youtube.player.YouTubePlayerFragment"
      android:id="@+id/youtube_fragment"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"/>
  <TextView
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_weight="1"
      android:textAppearance="@android:style/TextAppearance.Small"
      android:gravity="center"
      android:text="Nothin"/>
</LinearLayout>

现在,在我的活动中,我有以下内容:

public class MainActivity extends FragmentActivity implements YouTubePlayer.OnInitializedListener

我的印象是在我的布局中使用片段意味着我需要使用FragmentActivity(来自android.support.v4.app.FragmentActivity)。但是,当我运行此命令时,我收到以下异常:

java.lang.ClassCastException: com.google.android.youtube.player.YouTubePlayerFragment cannot be cast to android.support.v4.app.Fragment

当我扩展Activity而不是FragmentActivity时,这是有效的。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:14)

YouTubePlayerFragment继承自android.app.Fragment,并将其转移到android.support.v4.app.Fragment。如果您想在较旧的API上使用此类,请使用YouTubePlayerSupportFragment,否则请修复您的导入。