6
回答
android,SlidingDrawer出现的错误
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

在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.

哪位大神帮看看呀!

举报
ydww
发帖于6年前 6回/1K+阅
共有6个答案 最后回答: 6年前

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

<?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没做修改

<?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。

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

<?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>

却正常运行

--- 共有 1 条评论 ---
迷途d书童你对比下我上面贴的代码,ImageView和LinearLayout是不是包含在SlidingDrawer里面。 6年前 回复
顶部