gpt4 book ai didi

Android setOnItemClickListener 与 setOnClickListener

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:24:04 24 4
gpt4 key购买 nike

据我所知,有两种方法可以处理对不同列表项的点击:

  1. 使用 setTag() 为 Adapter 中的列表项设置类型,然后使用 setOnItemClickListener() 为列表和 getTag()区分类型的 View ,如下所示:

listview.setOnItemClickListener(new OnItemClcikListener(){});

  1. 在适配器内部,setOnClickListener()getView() 期间分别为每个项目设置,如下所示:

item.setOnClickListener(new OnClickListener() {});

有什么区别,首选哪个?

最佳答案

OnClickListener 相比,

OnItemClickListener 非常易于管理。如果您仍然愿意管理 OnClickListener,我会告诉您为什么 OnItemClickListenerOnClickListener 好得多。

一旦您开始滚动 ListView 项目将开始被重用,您最终会创建大量的 OnClickListener。别担心,这不是内存泄漏,因为 GC 会出现并收集它们,但您也不应该感到安全,因为 GC 会暂停您的 Activity ,即使它是相当大的几分之一秒。

我也会选择 OnItemClickListener 除非您为单个列表项计划了不同的东西。

如果您需要为每个项目创建可点击的特定部分,或者希望对给定项目执行多个操作,最好将这些操作收集到一个创建一次的 OnClickListener 中附加到 getView() 中的每个项目。您可以通过附加有关点击操作的元数据来区分点击了哪个项目,并可能使用 setTag() 将位置列到 View 本身。

关于Android setOnItemClickListener 与 setOnClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28295197/

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