listview和slidedrawer给出错误

时间:2012-08-09 09:55:27

标签: android listview dimensions slidingdrawer

我有这个问题2天了,我找不到任何解决办法。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/presentation_list"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</ListView>

<SlidingDrawer
    android:id="@+id/slidingDrawer1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/presentation_list"
    android:content="@+id/content"
    android:handle="@+id/handle"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/handle"
        android:layout_width="40dp"
        android:layout_height="fill_parent"
        android:background="@android:color/darker_gray" />

    <LinearLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/content_imageview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/black" />
    </LinearLayout>
</SlidingDrawer>

我有一个非常简单的布局,listviewslidingdrawer我想要来listview。当我打开我的activity没有任何信息时,它显示完美,没有任何例外。

但是当我的listview中有一个项目时,我的slidingdrawer会给出一个例外情况。

   AndroidRuntime(4722): java.lang.RuntimeException: SlidingDrawer cannot have UNSPECIFIED dimensions

我已经多次搜索过一个解决方案,但没有人为我工作。

有没有人对我有突破性的突破?非常感谢!

3 个答案:

答案 0 :(得分:0)

只是想一想......如果你在滑动抽屉里面定义了content_imageview的确切尺寸,会发生什么。

从查看您的代码和Android文档http://developer.android.com/reference/android/widget/SlidingDrawer.html开始,这似乎是唯一的区别。

可能值得阅读http://developer.android.com/reference/android/view/View.html以更好地了解UNSPECIFIED以及如何在MeasureSpec中使用它。

另请参阅指定句柄组件的设置维度。

关于您定义的布局,您最好将滑动抽屉指定为alignParentBottom并将列表视图与滑动抽屉上方对齐。在一个简短的清单上,你的滑动抽屉将位于布局的一半......

答案 1 :(得分:0)

为您的android:layout_height相对布局提供一个数字(例如600倾角)。当滑动抽屉布局高度为match_parent时,它将遵循布局高度为fill_parent的相对布局,这将使您的滑动抽屉变为无限。

答案 2 :(得分:-1)

我认为您必须在SlidingDrawer内定义LinearLayout,而不是相反。