如何将GridView转换为ExpandableListView

时间:2015-09-15 11:43:18

标签: android listview gridview

我在我的项目中使用了GridView,并且我包含了ViewHolder 现在,客户希望使用ExpandableListView显示数据,因为他只想显示标题,当用户点击标题时,它会显示其下方的子项。

  • 没有任何经验,我想知道是否可以在代码中轻松地从GridView更改为ExpandableListView。
    请注意,我还在网格上包含了文本搜索。如果我切换到ExpandableListView,它仍然可用吗?
  • 如果以上是可能的,任何人都可以帮助我实现它。

Grid行xml如下

 <?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingLeft="8dip"
    android:paddingRight="4dip">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_weight="0.8">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#FFFFFF"
                android:typeface="sans"
                android:textSize="13sp"
                android:textStyle="bold"
                android:id="@+id/placeName"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#88FFFFFF"
                android:typeface="sans"
                android:textSize="13sp"
                android:textStyle="bold"
                android:id="@+id/theme"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"                
                android:textStyle="bold"
                android:id="@+id/Title"/>

            <TextView
                android:id="@+id/Details"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="1dip"
                />

            <TextView
                android:id="@+id/scheduleDays"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="bottom"
                android:layout_gravity="bottom"
                android:layout_marginRight="5dip"
                android:layout_marginTop="7dip"                
                android:text="Family, Friends, Relatives, Grand-Parents"                
                android:textStyle="bold"/>

            <TextView
                android:id="@+id/Date"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="bottom"
                android:layout_gravity="right"
                android:layout_marginRight="5dip"
                />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/rightLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:orientation="vertical"
            android:minWidth="60dp"
            android:layout_weight="0.2">

            <ImageView
                android:id="@+id/starButton"
                android:layout_width="40dp"
                android:layout_gravity="right"
                android:layout_marginRight="5dip"
                android:layout_height="40dp"
                android:background="#00FFFFFF"
                android:src="@drawable/Favourite"/>

 <ImageView
                android:id="@+id/showMeButton"
                android:layout_width="40dp"
                android:layout_gravity="right"
                android:layout_marginRight="15dip"
                android:src="@drawable/showMe"/>
            </LinearLayout>

    </LinearLayout>

  <View
    android:id="@+id/separator"
    android:layout_marginTop="5dip"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#33000000" />

</LinearLayout>

使用ListView,我想将PlaceName,Favorite Button和ShowMe Button显示为标题,其余部分显示为孩子。

2 个答案:

答案 0 :(得分:0)

您可以将Expandable ListView集成到布局中,例如LinearLayout。 为此,更改活动的layout.xml中的布局类型

要将数据发送到ListView,您需要使用BaseExpandableListAdapter将内容从数组或数据库中提取出来。

layout.xml的示例

platform:/plugin/org.eclipse.e4.ui.workbench.addons.swt/org.    eclipse.e4.ui.workbench.addons.perspectiveswitcher.PerspectiveSwitcher

答案 1 :(得分:0)

可以显示您的xml文件吗?好可以实现很多方面。

  • 喜欢将布局容器从网格布局更改为线性布局

与你的适配器一样

并在onCreate中设置您的视图

1