Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ListView中的可展开项_Java_Android_Android Listview_Android Linearlayout_Expandablelistview - Fatal编程技术网

Java ListView中的可展开项

Java ListView中的可展开项,java,android,android-listview,android-linearlayout,expandablelistview,Java,Android,Android Listview,Android Linearlayout,Expandablelistview,我正在写一个包含多种项目的列表视图。我已经使用和一个列表视图完成了这项工作,现在我的问题是,我需要在适配器中有一些要扩展的项,这些项将具有任何类型的内部项。现在的问题是我如何才能做到这一点?我知道我可以使用ExpandableListView,但我不需要扩展某些项目。我看到了类似的情况,有人建议使用ExpandableListView或自定义项,我想做自定义项,但我担心的是答案的OP引用了这一点 如果项目的数量较低,请考虑使用线性布局来查看 类似于最后一项的列表视图和另一个线性布局 我不知道他们

我正在写一个包含多种项目的列表视图。我已经使用和一个列表视图完成了这项工作,现在我的问题是,我需要在适配器中有一些要扩展的项,这些项将具有任何类型的内部项。现在的问题是我如何才能做到这一点?我知道我可以使用ExpandableListView,但我不需要扩展某些项目。我看到了类似的情况,有人建议使用ExpandableListView或自定义项,我想做自定义项,但我担心的是答案的OP引用了这一点

如果项目的数量较低,请考虑使用线性布局来查看 类似于最后一项的列表视图和另一个线性布局

我不知道他们所说的“低”是什么意思,我可以在里面放多少东西?它会导致滞后吗

所以我的问题是什么是最好的方法?我需要把东西放进去 在具有多种类型的ListView中,其中一种类型可以 展开并具有内部视图,这些视图可以再次包含相同的类型和 等等

编辑:因为你们两个都不知道我想要什么。我想在ArrayAdapter中执行以下操作

Item
Item
Item
ExpandableItem {
   Item
   Item
   Item
   Item
}
Item
Item

我正在尝试使一些项目展开,以便在其中包含更多项目,并控制内部项目的单击等。

在单击任何项目时添加另一个列表视图,如RecyclerView。

关于“低”的含义:我认为这与性能有关,但今天的设备比2013年写链接文章时的设备要好——也许你永远不会体验到你的方法所带来的缓慢的用户界面。当然,这不仅取决于您的UI结构,还取决于您将要显示的数据类型(视频或文本?)以及其他因素,如设备是否必须在后台执行繁重的工作

RecyclerView
被开发为“更好的
ListView
”,因此,如果性能可能是一个问题,那么它可能是一个不错的选择。(两个
视图组
s的适配器都可以处理不同的
视图
类型,但
RecyclerView
提供了一种更好的方法来显示单个项目的更改和自定义更改动画,这是另一个有利的方面)

我该怎么做

  • 对于可展开项和展开项,具有不同的
    视图
    类型
  • 您可以通过使用某种类型的动画(或
    转换
    框架)来“手动”展开/收缩
    视图(这是使用
    列表视图
    时唯一的选择),但您必须始终
  • 跟踪每个可展开项(例如适配器中)的展开状态,并分别在
    getView()
    中使用它们
    onBindViewHolder()

    我不认为这是一个答案,这是没有道理的。我不想使用RecylerView。如果我在ListView中使用ListView,您能举个例子说明如何管理适配器吗?:)我不能使用
    RecyclerView
    ,因为我不想指定某些原因,所以我只能使用ListView,我的想法是创建一个自定义视图来扩展视图,该视图可以自行扩展,但我不确定如何扩展。您的意思是“展开/收缩”。@SamzSakerz-我喜欢使用转换框架通过切换某些子视图的可见/消失状态来展开视图组。a.J.洛克伍德的一篇文章对我帮助很大。列表视图可能有它们的弱点,但我们当然可以使用它们。在现代设备上,性能问题也应该不那么明显