显示字段的可扩展视图
Posted
技术标签:
【中文标题】显示字段的可扩展视图【英文标题】:Expandable View to Show fields 【发布时间】:2015-08-26 11:28:00 【问题描述】:我想创建一个可展开的列表视图,除非在这种情况下,当单击列表项时,我不想只显示另一个字符串列表,而是希望它显示带有文本字段的布局和下拉菜单等。
到目前为止,我有带有 textview 的 parentlayout 来显示标题,childlayout 中带有字段。只是不确定如何在列表项单击时显示子布局。任何帮助是极大的赞赏!
HashMap<String, List<String>>
如果我想显示一个字符串列表,那么在我的情况下,我应该使用什么? HashMap<String, ?>
这里有什么?
【问题讨论】:
【参考方案1】:看起来您正在寻找类似 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/
【讨论】:
那个例子和我见过的所有其他例子都在做同样的事情。具有静态字符串数组子组的组.. 仍然不确定如何拥有实际可编辑内容的子组【参考方案2】:我最终做的事情是,我创建了一个线性布局,其中包含我需要的所有字段,并添加了一些文本视图作为部分标题,这更容易、更有效。然后我就这样声明了
在创建时
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_
android:layout_
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 等。同样通过这种方式,文本字段的状态条目在隐藏和显示时会保持不变。
【讨论】:
以上是关于显示字段的可扩展视图的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin 表单中具有不同子项的可扩展 ListView