4

我需要将 GroupData 和 ChildData 直接插入到 xml 文件本身的 ExpandableListView 中,而不使用 java。Java 文件应该只用于显示 xml 文件而不是用于插入数据。

我们的输出将是:

第 1 组 -> 11 岁儿童、12 岁儿童、13 岁儿童

第 2 组 -> 21 岁儿童、22 岁儿童、23 岁儿童

第 3 组 -> 31 岁儿童、32 岁儿童、33 岁儿童

提前致谢

4

2 回答 2

6

我不认为这是可能的。您必须编写代码以使用 java 文件生成列表视图。

在此处查找生成可扩展列表视图的最短方法。

于 2012-08-18T06:02:26.383 回答
0

如果您不想使用ExpandableListviewjava 代码来设置适配器,那么您可以使用cardview展开和折叠的。这是静态(XML)折叠和展开功能的最简单方法。

<android.support.v7.widget.CardView
        android:id="@+id/card_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:elevation="3dp"
        app:cardCornerRadius="0dp">

        <LinearLayout
                android:id="@+id/group_container"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/group_one"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:ellipsize="end"
                    android:lines="1"
                    android:text="Group 1"
                    android:textStyle="bold" />

                <LinearLayout
                    android:id="@+id/child_container"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:visibility="gone"
                    android:orientation="vertical">

                    <TextView
                        android:id="@+id/child_one"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:ellipsize="end"
                        android:lines="1"
                        android:text="Child 11" />

                    <TextView
                        android:id="@+id/child_two"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:ellipsize="end"
                        android:lines="1"
                        android:text="Child 12" />

                    <TextView
                        android:id="@+id/child_three"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:ellipsize="end"
                        android:lines="1"
                        android:text="Child 13" />

                </LinearLayout>
            </LinearLayout>
</android.support.v7.widget.CardView>

将以下代码写入onClickListener

 cardView = (CardView) findViewById(R.id.card_view);
 childContainer = (LinearLayout) findViewById(R.id.child_container);
 boolean flag = false;

    cardView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (flag == true) {
                TransitionManager.beginDelayedTransition(cardView);
                childContainer.setVisibility(View.GONE);
                flag = false;
            } else if (flag == false) {
                TransitionManager.beginDelayedTransition(cardView);
                childContainer.setVisibility(View.VISIBLE);
                flag = true;
            }
        }
    });

这是一个组,您可以将此代码复制到更多组。

于 2018-02-26T07:49:17.630 回答