gpt4 book ai didi

具有多个布局的 Android ListView : why bother with `getItemViewType` at all?

转载 作者:行者123 更新时间:2023-11-29 01:08:03 26 4
gpt4 key购买 nike

使用不同布局填充 Android ListView 的推荐方法似乎是覆盖

  • getItemViewType(int position)
  • getViewTypeCount()

这在此处的许多问题和答案(例如 hereherehere)中都有明确说明。

但是,在查看具体的代码示例/教程时,我真的不明白为什么重写这些方法是正确的方法:

  • 基本上,整个过程仍然归结为具有某种条件/开关语句 int getView(...),它根据列表项扩充正确的布局在给定的位置。
  • 这个条件/开关似乎必须手动编写 - 那么,如果您只是简单地扩充手动选择的布局,为什么还要费心重写上述方法呢?

看到的主要问题是,使用 getItemViewType 签名会强制您首先将布局类型编码为 int,然后(在 getView(.. .) 再次将此 int 解码为任何布局类型...这增加了额外的复杂性和潜在的错误。

最佳答案

首先,ListView现在基本被RecyclerView取代了。顺便说一下,原因似乎是膨胀代码是根据您在 getItemViewType 中返回的 ViewType 为您完成的。我认为这与所述 View 的回收逻辑有关 here .框架调用 getItemViewType,使用它来确定它是否可以返回回收 View ,或者是否必须调用 getView 来扩充它。

关于具有多个布局的 Android ListView : why bother with `getItemViewType` at all?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45548323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com