我收到此错误是我的XML文件,但无法弄清楚,因为我的活动已经扩展了YouTubeBaseActivity。有人可以帮助我吗?
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtube_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp" />
活动:
public class UserHomepage extends YouTubeBaseActivity implements
YouTubePlayer.OnInitializedListener
堆栈跟踪
java.lang.IllegalStateException: A YouTubePlayerView can only be created with an Activity which extends YouTubeBaseActivity as its context.
at com.google.android.youtube.player.YouTubePlayerView.<init>(Unknown Source)
at com.google.android.youtube.player.YouTubePlayerView.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
由于所有其他类似的异常都是由于没有扩展YoutubeBaseActivity
.这可能是一个错误,可能是布局膨胀尝试实例化传递上下文Activity
视图而不是YoutubeBaseActivity
。
取 0:
检查您是否使用的是最新版本的 SDK、工具和 youtube api。
取 1:
放置具有相同属性的FrameLayout
,然后以编程方式添加YoutubePlayerView
。简单的FrameLayout
应该不会对视图层次结构做出太大贡献。无论如何,试一试。
取 2:使用播放器的片段版本。
从这里下载YoutubePlayer
API
jar 文件 https://developers.google.com/youtube/android/player/downloads/
然后放入 libs 文件夹,然后在依赖项中添加此行
compile 'com.google.android.gms:play-services:8.4.0'
compile files('libs/YouTubeAndroidPlayerApi.jar')