android,SlidingDrawer出现的错误

ydww 发布于 2012/02/28 22:57
阅读 1K+
收藏 0

在xml文件中定义如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<SlidingDrawer 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/sliding"
    android:handle="@+id/name"
    android:content="@+id/layout"
    />
    <ImageView
     android:id="@+id/name"
     android:src="@drawable/icon"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     />
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
   
</LinearLayout>

Activity没做任何修改,运行后出现错误:

02-28 14:18:55.887: ERROR/AndroidRuntime(354): java.lang.RuntimeException: Unable to start activity ComponentInfo{yang.slidingdrawer03/yang.slidingdrawer03.SlidignDrawer03}: java.lang.IllegalArgumentException: The handle attribute is must refer to an existing child.

哪位大神帮看看呀!

加载中
0
迷途d书童
迷途d书童
上面布局文件少了一个 LinearLayout的结束标签
0
ydww
ydww

不好意思,发漏了,完整代码是这样的,:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<SlidingDrawer 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/sliding"
    android:handle="@+id/name"
    android:content="@+id/layout"
    />
    <ImageView
     android:id="@+id/name"
     android:src="@drawable/icon"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     />
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:id="@+id/layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
   
    </LinearLayout>

</LinearLayout>
还是出现上面的错误,Activity没做修改

0
迷途d书童
迷途d书童
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<SlidingDrawer 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/sliding"
    android:handle="@+id/name"
    android:content="@+id/layout"
    />
    <ImageView
     android:id="@id/name"
     android:src="@drawable/icon"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     />
    <LinearLayout
    android:orientation="vertical"
    android:id="@id/layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >  
    </LinearLayout>
</SlidingDrawer>
</LinearLayout>

ImageView,LinearLayout是SlidingDrawer子控件,引用SlidingDrawer的android:handle,android:content的id。

0
ydww
ydww

奇怪的是,我写另一个布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<SlidingDrawer
   android:id="@+id/sd"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:orientation="horizontal"
   android:handle="@+id/name"
   android:content="@+id/content"
  >
  <Button
   android:id="@+id/name"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:background="@drawable/icon"
   />
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/content"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    </LinearLayout>
   
  </SlidingDrawer>
</LinearLayout>

却正常运行

迷途d书童
迷途d书童
你对比下我上面贴的代码,ImageView和LinearLayout是不是包含在SlidingDrawer里面。
0
ydww
ydww
已检查出来,第一个SlidingDrawer中,应该是<SlidingDrawer  > 而不是<SlidingDrawer/>
0
雨焰
雨焰

你多写了一个命名空间-xmlns

在你的第二个linearlayout中不用再写xmlns!

返回顶部
顶部