可展开视图以显示字段

时间:2015-06-11 00:07:11

标签: android android-layout android-listview expandablelistview

我想创建一个可扩展的列表视图,除非在这种情况下,单击列表项时,我不想只显示另一个字符串列表,而是希望它显示带有文本字段的布局堕落等。

到目前为止,我有一个带有textview的parentlayout来显示标题,其中包含字段的childlayout。只是不确定如何在列表项单击上显示子布局。任何帮助是极大的赞赏!

如果我想显示字符串列表,将使用

HashMap<String, List<String>>,所以在我的情况下,我会使用什么? HashMap<String, ?>这里有什么?

enter image description here

2 个答案:

答案 0 :(得分:0)

看起来你正在寻找像BaseExpandableListAdapter这样的东西。您可以使用您想要的任何内容自定义组视图和子视图。您只需实现一些方法。例如,getGroupView和getChildView将返回任何视图。您可以在此方法中对视图进行充气并进行设置。

以下是两篇供参考的文章: http://www.javacodegeeks.com/2013/06/android-expandablelistview-with-custom-adapter-baseexpandablelistadapter.html

http://theopentutorials.com/tutorials/android/listview/android-expandable-list-view-example/

答案 1 :(得分:0)

我最终做了什么,这更简单,更有效,我创建了一个包含我需要的所有字段的线性布局,并添加了一些文本视图作为章节标题。然后我宣布它是这样的

创建

textview= (LinearLayout)findViewById(R.id.textviewid);
textview.setVisibility(View.GONE);

然后编写了一个名为toggle

的方法
 public void toggle_basicInfo(View v){

            if(textview.isShown()){
                textview.setVisibility(View.GONE);
            }
            else {
                textview.setVisibility(View.VISIBLE);
            }
        }

我的xml看起来像

<TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Basic Info"
            android:clickable="true"
            android:onClick="toggle_basicInfo"
            android:textSize="20sp"
            android:paddingTop="8dp"
            android:id="@+id/text"
            android:layout_above="@+id/linearLayout"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:textColor="#ff3a65ff" />

当我单击我的文本视图时,它将隐藏/显示您定义的任何内容以隐藏。例如,您可以隐藏LinearLayout等。通过这样做,文本字段的状态条目在隐藏和显示时保持不变。