我正试图在列表项中使用
问题在于,当我尝试通过执行
我正在尝试遵循YouTube API示例并进行嵌套片段所需的更改,但我找不到导致此问题的原因。
YouTubePlayerSupportFragment
。这个ListView
位于一个Fragment
内,而此Fragment
又位于一个Activity
中。由于存在嵌套的片段,因此我正在使用getChildFragmentManager()
方法来查找来自XML布局的片段。以下是代码。
Java
convertView = inflater.inflate(R.layout.youtube_post_layout, null);
YouTubePlayerSupportFragment youTubePlayerFragment = (YouTubePlayerSupportFragment) getChildFragmentManager().findFragmentById(R.id.youtube_video);
if (youTubePlayerFragment == null) {
Log.i("YouTube", "player is null");
} else {
Log.i("YouTube", youTubePlayerFragment.toString());
}
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<include layout="@layout/post_base_layout" />
<fragment
android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
android:id="@+id/youtube_video"
android:layout_width="match_parent"
android:layout_height="240dp"
android:layout_marginLeft="62dp"
android:layout_marginRight="32dp"
android:background="@color/light_grey"
android:cropToPadding="true"
android:padding="1dp"
android:scaleType="centerCrop" />
<include layout="@layout/post_bottom_layout" />
</LinearLayout>
问题在于,当我尝试通过执行
findFragmentById()
从XML中获取该片段时,它返回null,并将其发布到堆栈跟踪中。我正在尝试遵循YouTube API示例并进行嵌套片段所需的更改,但我找不到导致此问题的原因。
adb shell dumpsys activity <activity-name>
的输出吗?它包含了活动和添加的片段列表。 - Manish Mulimani