YouTube播放器崩溃(java.lang.NullPointerException,空对象引用)
我的YouTube播放器崩溃了,我不知道为什么 这是我的Java代码: @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_youtube); Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar); 设置支持操作栏(工具栏)YouTube播放器崩溃(java.lang.NullPointerException,空对象引用),java,android,youtube,Java,Android,Youtube,我的YouTube播放器崩溃了,我不知道为什么 这是我的Java代码: @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_youtube); Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar); 设置支持操作栏(工具栏) 问题已经解决了现在我们需要一些额外的信息来最终回答
问题已经解决了现在我们需要一些额外的信息来最终回答这个问题,但这行似乎返回null,这表明您需要查看资源XML并确保正确获取片段
getSupportFragmentManager().findFragmentById(R.id.youtube\u player\u fragment);
您可能会从以下相关问题中受益:
我怀疑问题可能在于,在您的资源XML中,您没有使用支持库声明片段 尝试使用:
<fragment
android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
现在,我们需要一些额外的信息来最终回答这个问题,但这行似乎返回null,这表明您需要查看资源XML并确保正确获取片段
getSupportFragmentManager().findFragmentById(R.id.youtube\u player\u fragment);
您可能会从以下相关问题中受益:
我怀疑问题可能在于,在您的资源XML中,您没有使用支持库声明片段
尝试使用:
<fragment
android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
我尝试了很多这样的建议,但没有一个对我有效。我最终创建了一个容器,然后在运行时用YouTubeFragment替换它。这对我来说非常有效
在我的布局文件中创建了containerView,请注意,它只是我布局文件的一部分
<View
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/gray90"/>
<FrameLayout
android:padding="20dp"
android:id="@+id/youtubeContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
然后我创建了一个youtube片段的实例,如下所示
youTubePlayerFragment=YouTubePlayerSupportFragment.newInstance()
然后,我使用以下标准方式替换它:-
FragmentManager=getFragmentManager();
FragmentTransaction=manager.beginTransaction();
replace(R.id.youtubeContent,youTubePlayerFragment.commit()
我希望这对其他人有帮助我尝试了很多这样的建议,但没有一个对我有效。我最终创建了一个容器,然后在运行时用YouTubeFragment替换它。这对我来说非常有效
在我的布局文件中创建了containerView,请注意,它只是我布局文件的一部分
<View
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/gray90"/>
<FrameLayout
android:padding="20dp"
android:id="@+id/youtubeContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
然后我创建了一个youtube片段的实例,如下所示
youTubePlayerFragment=YouTubePlayerSupportFragment.newInstance()
然后,我使用以下标准方式替换它:-
FragmentManager=getFragmentManager();
FragmentTransaction=manager.beginTransaction();
replace(R.id.youtubeContent,youTubePlayerFragment.commit()
我希望这对其他人有所帮助片段XML是什么样子的(R.id.youtube\u player\u fragment)?因为我的内容中有片段XML是什么样子的(R.id.youtube\u player\u fragment)?因为我的内容中有片段XML?我认为方法playerFragment.initialize(YouTubeKey,这个);是否返回null,不是吗?@FabianSawischa我在我的答案中添加了一个编辑。您是否尝试过在布局中切换名称以使用支持库?谢谢,伙计!您帮了我很多忙。我认为方法playerFragment.initialize(YouTubeKey,这个);是否返回null,不是吗?@FabianSawischa我在我的答案中添加了一个编辑。您是否尝试过在布局中切换名称以使用支持库?谢谢,伙计!您帮了我很多忙。