«

安卓之使用DrawerLayout出现的java.lang.UnsupportedOperationException异常

时间:2024-3-2 18:22     作者:韩俊     分类: Android


在使用安卓的抽屉控件DrawerLayout的时候有这样的一个需求,就是在某些状态下抽屉上的布局是列表left_drawer有些状态下是列表left_drawer1两个列表样式不一样。因此我的布局文件就写成这个样子如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&quot;
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffffff"
android:orientation="vertical" >

&lt;android.support.v4.widget.DrawerLayout
    android:id=&quot;@+id/drawer_layout&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot; &gt;

    &lt;FrameLayout
        android:id=&quot;@+id/content_frame&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;match_parent&quot; &gt;

        &lt;TextView
            android:id=&quot;@+id/tv_sidebar_tip&quot;
            android:layout_width=&quot;@dimen/contacts_main_sidebar_tipbox_size&quot;
            android:layout_height=&quot;@dimen/contacts_main_sidebar_tipbox_size&quot;
            android:layout_gravity=&quot;center&quot;
            android:background=&quot;#C1F1FD&quot;
            android:gravity=&quot;center&quot;
            android:textColor=&quot;@color/blue&quot;
            android:textSize=&quot;@dimen/common_textsize_xxl&quot;
            android:textStyle=&quot;bold&quot;
            /&gt;
    &lt;/FrameLayout&gt;

    &lt;com.diegocarloslima.fgelv.lib.FloatingGroupExpandableListView
        android:id=&quot;@+id/left_drawer&quot;
        android:layout_width=&quot;@dimen/contacts_main_drawer_width&quot;
        android:layout_height=&quot;match_parent&quot;
        android:layout_gravity=&quot;right&quot;
        android:background=&quot;#ffffffff&quot;
        android:cacheColorHint=&quot;@android:color/transparent&quot;
        android:childDivider=&quot;#00000000&quot;
        android:choiceMode=&quot;singleChoice&quot;
        android:divider=&quot;#00000000&quot;
        android:dividerHeight=&quot;1dp&quot;
    android:visibility=&quot;gone&quot;
        android:scrollbars=&quot;@null&quot; /&gt;
&lt;ExpandableListView
        android:id=&quot;@+id/left_drawer1&quot;
        android:layout_width=&quot;@dimen/contacts_main_drawer_width&quot;
        android:layout_height=&quot;match_parent&quot;
        android:layout_gravity=&quot;right&quot;
        android:background=&quot;#ffffffff&quot;
        android:cacheColorHint=&quot;@android:color/transparent&quot;
        android:childDivider=&quot;#00000000&quot;
        android:choiceMode=&quot;singleChoice&quot;
        android:divider=&quot;#00000000&quot;
        android:dividerHeight=&quot;1dp&quot;
        android:scrollbars=&quot;@null&quot;
        android:visibility=&quot;gone&quot; &gt;
&lt;/android.support.v4.widget.DrawerLayout&gt;

</LinearLayout>


然后在代码中控制两个列表的显示和隐藏。结果在隐藏left_drawer显示left_drawer1的时候,加载显示都是没问题的。但是在关闭抽屉却会报出标题上的那个异常问题。而一个列表是正常的。因此 我想导致这个错误应该是DrawerLayout的抽屉布局里面不支持两个列表导致。

标签: android

热门推荐