4

我正在尝试使用新的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 时有效。我怎样才能解决这个问题?

4

1 回答 1

14

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

于 2013-01-01T23:11:37.627 回答