Java 只能使用扩展YouTubeBaseActivity作为其上下文的活动创建YouTubePlayerView
我发现这个错误是我的XML文件,但无法找出它,因为我的活动已经扩展了YouTubeAseActivity。有人能帮我吗Java 只能使用扩展YouTubeBaseActivity作为其上下文的活动创建YouTubePlayerView,java,android,xml,youtube-api,Java,Android,Xml,Youtube Api,我发现这个错误是我的XML文件,但无法找出它,因为我的活动已经扩展了YouTubeAseActivity。有人能帮我吗 <com.google.android.youtube.player.YouTubePlayerView android:id="@+id/youtube_view" android:layout_width="match_parent" android:layout_height="wrap_content"
<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" />
堆栈跟踪
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)
java.lang.IllegalStateException:YouTubePlayerView只能使用扩展YouTubeBaseActivity作为其上下文的活动创建。
在com.google.android.youtube.player.YouTubePlayerView(未知来源)
在com.google.android.youtube.player.YouTubePlayerView(未知来源)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:422)
因为发生的所有其他类似异常都是由于未扩展YoutubeBaseActivity
。这可能是一个错误,可能布局充气器试图实例化通过Activity
上下文的视图,而不是YoutubeBaseActivity
以0为例:
检查您是否正在使用最新版本的sdk、工具和youtube api
以1为例:
放置具有相同属性的FrameLayout
,然后以编程方式添加YoutubePlayerView
。简单的FrameLayout
不应该对视图层次结构做出太大贡献。无论如何,试试看
第二个例子:
使用播放器的片段版本。从这里下载
YoutubePlayer
API
jar文件
然后放入libs文件夹,然后在dependencies中添加此行
compile 'com.google.android.gms:play-services:8.4.0'
compile files('libs/YouTubeAndroidPlayerApi.jar')
如何取2?取1不起作用,仍然给出相同的问题。第二个例子:我不能用那个。
compile 'com.google.android.gms:play-services:8.4.0'
compile files('libs/YouTubeAndroidPlayerApi.jar')