我正在尝试使用新的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时,这是有效的。我该如何解决这个问题?
答案 0 :(得分:14)
YouTubePlayerFragment继承自android.app.Fragment,并将其转移到android.support.v4.app.Fragment。如果您想在较旧的API上使用此类,请使用YouTubePlayerSupportFragment,否则请修复您的导入。