我一直在使用android很长一段时间,而且我已经使用Android支持库v4中的DrawerLayout
构建了用户界面。
我的大学老师强迫我们使用API Level 10来构建我们的应用程序,这就是我正在做的事情。
我正在尝试构建一个具有ListView Inside的SlidingDrawer,但我找不到正确的方法。以下代码导致两个错误
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<SlidingDrawer
android:id="@+id/slidingDrawerShowMore"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:topOffset="132dip"
android:handle="@+id/handle"
android:content="@+id/handle">
<ImageView
android:id="@id/handle"
android:layout_width="88dip"
android:layout_height="44dip" />
</SlidingDrawer>
错误讯息:
Exception raised during rendering: com.android.layoutlib.bridge.MockView cannot be cast to android.view.ViewGroup
和
Exception raised during rendering: The content attribute is must refer to an existing child.
(这是在我将抽屉的内容值更改为@ + id / content之后引发的)
这是我期待实现的结果。
我怎么能解决它?
我的这个UI在API 17上完美运行,在DrawerLayout上的ListView上有一个自定义ListAdapter(来自android.support.v4.widget.DrawerLayout),但它不适用于较低的API级别。
答案 0 :(得分:1)
您正在使用在Android中使用ActionBar组件的NavigationDrawer。这将仅适用于3.0及以上版本。因此,您需要删除应用中的ActionBar代码,并尝试使用自己的标题代码。
否则将操作栏的代码更改为ActionBarCompat,这是一个用于处理较低版本操作栏的库,实现非常简单,只需按照网址