问题
I am trying to inflate
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtubeplayerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp" />
in List adapter so that I can play video in the listview it self but I am getting error
Error inflating class com.google.android.youtube.player.YouTubePlayerView
while if I am using
<com.google.android.youtube.player.YouTubeThumbnailView
android:id="@+id/youtubeplayerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp" />
It is getting inflated without any error and I am able to display thumbnail in list view
My requirement is when user click on this thumbnail video should play in list view
Please suggest how can I achieve this ?
回答1:
From the documentation:
Using this View directly is an alternative to using the
YouTubePlayerFragment. If you choose to use this view directly, your activity needs to extendYouTubeBaseActivity.
Therefore, you must make sure your activity extends YouTubeBaseActivity. Alternatively, if your activity does not need to extend an activity provided by the library, you can use the YouTubePlayerSupportFragment and FrameActivity from android.support.v4.
<fragment
android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
android:id="@+id/youtubesupportfragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
回答2:
In addition to not_a_bot's answer, I'd like to add that you should make sure that you call super.onCreate(Bundle) method, as it seems that YouTubeBaseActivity class doesn't have the @CallSuper annotation.
回答3:
If you do not want to use fragment in your layout, another solution that you can use is extends your activity from YouTubeBaseActivity() . This will allow you use <com.google.android.youtube.player.YouTubePlayerView/> inside your layout
Example:
class PlayVideoActivity : YouTubeBaseActivity(), YouTubePlayer.OnInitializedListener {...}
回答4:
In your java file MainActivity.java try to replace public class MainActivity extends AppCompatActivity with public class MainActivity extends YouTubeBaseActivity.
来源:https://stackoverflow.com/questions/31570169/error-inflating-class-com-google-android-youtube-player-youtubeplayerview-in-lis