今天写了个SlidingDrawer的例子,遇到了这样一个问题:
java.lang.IllegalArgumentException: The content attribute is must refer to an existing child.
xml文件里的SlidingDrawer布局如下:
<SlidingDrawer
android:id="@+id/drawer1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:handle="@+id/layout1"
android:content="@+id/myContext1"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/layout1"
android:layout_width="35px"
android:layout_height="fill_parent"
android:background="#000000"
android:gravity="center">
<ImageView
android:id="@+id/myImage1"
android:layout_width="45dp"
android:layout_height="45dp"
android:src="@drawable/open"/>
</LinearLayout>
<GridView
android:id="@+id/myContent1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="2"
android:background="#ffffff"
android:gravity="center">
</GridView>
</SlidingDrawer>
最后检查发现"android:content"写成了"@+id/myContext1",而作为"android:content"的GridView的id是"@+id/myContent1",所以SlidingDrawer没有找到“android:content”的这一项。
原来是粗心犯的错,罪过罪过!
效果图: