在列表适配器中膨胀类 com.google.android.youtube.player.YouTubePlayerView 时出错

Posted

技术标签:

【中文标题】在列表适配器中膨胀类 com.google.android.youtube.player.YouTubePlayerView 时出错【英文标题】:Error inflating class com.google.android.youtube.player.YouTubePlayerView In List Adapter 【发布时间】:2015-10-12 17:51:10 【问题描述】:

我正在尝试充气

<com.google.android.youtube.player.YouTubePlayerView
                android:id="@+id/youtubeplayerview"
                android:layout_
                android:layout_
                android:padding="5dp" />

在列表适配器中,以便我可以在列表视图中自行播放视频,但出现错误

膨胀类 com.google.android.youtube.player.YouTubePlayerView 时出错

如果我正在使用

<com.google.android.youtube.player.YouTubeThumbnailView
                android:id="@+id/youtubeplayerview"
                android:layout_
                android:layout_
                android:padding="5dp" />

它正在膨胀而没有任何错误,我可以在列表视图中显示缩略图

我的要求是当用户点击这个缩略图视频时应该在列表视图中播放

请建议我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

来自documentation:

直接使用此视图是使用 YouTubePlayerFragment。如果您选择直接使用此视图,您的 活动需要扩展YouTubeBaseActivity

因此,您必须确保您的活动扩展 YouTubeBaseActivity。或者,如果您的 Activity 不需要扩展库提供的 Activity,您可以使用 android.support.v4 中的 YouTubePlayerSupportFragment 和 FrameActivity。

<fragment
  android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
  android:id="@+id/youtubesupportfragment"
  android:layout_
  android:layout_/>

【讨论】:

但是方法是 setSupportActionBar(toolbar); 会给出错误,因为如果您的活动不是从 AppCompatActivity 扩展的,则无法调用它。如果需要工具栏怎么办? @not_a_bot 我的 QuestionLink 是:***.com/q/38694028/5059725 我仍然有错误膨胀类片段,还有其他错误二进制 XML 文件第 15 行:重复 id 0x7f1001d0、标签 null 或父 id 0x7f1001cf 与另一个片段com.google.android.youtube.player.YouTubePlayerSupportFragment【参考方案2】:

除了not_a_bot的回答,我想补充一点,你应该确保你调用super.onCreate(Bundle)方法,因为YouTubeBaseActivity类似乎没有@CallSuper注释。

【讨论】:

【参考方案3】:

在您的 java 文件中 MainActivity.java 尝试将 public class MainActivity extends AppCompatActivity 替换为 public class MainActivity extends YouTubeBaseActivity

【讨论】:

【参考方案4】:

如果您不想在布局中使用片段,您可以使用的另一个解决方案是从 YouTubeBaseActivity() 扩展您的活动。这将允许您在布局中使用 &lt;com.google.android.youtube.player.YouTubePlayerView/&gt;

例子:

class PlayVideoActivity : YouTubeBaseActivity(), YouTubePlayer.OnInitializedListener ...

【讨论】:

以上是关于在列表适配器中膨胀类 com.google.android.youtube.player.YouTubePlayerView 时出错的主要内容,如果未能解决你的问题,请参考以下文章

让自定义列表适配器正确膨胀多个线性布局

如何膨胀由 Android Studio 向导在 Activity 中创建的片段(列表)?

滚动列表时视图意外更改

通过适配器膨胀 json 数据

Android - 膨胀类 com.facebook.drawee.view.SimpleDraweeView 的异常错误

在android的片段中设置列表视图适配器