我的DialogFragment
包含Gridview
。将其显示为对话框按预期工作。现在,我尝试在DialogFragment
中嵌入相同的Activity
为此,我的ViewStub
布局中的Activity
定义如下:
<RelativeLayout>
<!-- Other children -->
<ViewStub
android:id="@+id/view_stub"
android:layout_below="@id/tv_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:inflatedId="@+id/attachment"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
请注意,我这里没有指定膨胀布局。根据此Intent
的{{1}}个附加内容,它可以将多个布局中的一个扩展到此存根中,其中一个是Activity
的占位符:
DialogFragment
在检查了正确的<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
个附加内容后,我对上述布局进行了充气,并使用以下代码添加Intent
:
DialogFragment
这导致viewStub.setLayoutResource( R.layout.dialog_fragment_placeholder );
flPlaceHolder = ( FrameLayout ) viewStub.inflate();
getSupportFragmentManager().beginTransaction()
.add( flPlaceHolder.getId(),
DialogFragment.newInstance( //arguments ),
DialogFragment.TAG )
.commit();
被添加,但DialogFragment
仅显示第一行且不可滚动。如果需要这里是GridView
DialogFragment
我很确定问题是由于其中一个布局中的<GridView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="100dp"
android:numColumns="auto_fit"
android:gravity="center"
android:background="#cc000000"
android:listSelector="@android:color/transparent">
</GridView>
/ layout_height
属性不正确,但我尝试在所有可能的文件中弄乱所有可能的值而没有任何好的结果。有什么帮助吗?