代码之家  ›  专栏  ›  技术社区  ›  Laimoncijus

findViewById与活动中的本地引用

  •  14
  • Laimoncijus  · 技术社区  · 16 年前

    如果我创建对所需视图元素的本地引用(例如。 EditText Button )在我的活动中 onCreate() )使用它们来访问所需的元素,或者如果我总是使用 findViewById() 当我需要访问某个特定元素时?

    3 回复  |  直到 16 年前
        1
  •  2
  •   mmaitlen    16 年前

    下面是来自googlei/O的一段视频和pdf,它讨论了如何在ListAdapter的getView方法中实现ViewHolder模式

    The world of ListView

        2
  •  4
  •   kar    13 年前

    这是一个老问题,但让我为任何和我一样好奇的人发布我的答案:至少在api级别17(4.2.2)中,DFS(深度优先搜索)用于查找视图,并且不存在缓存机制(意味着每次调用时都会重复搜索) findViewById() ).

        3
  •  3
  •   licorna    16 年前

    View 太频繁了。定义私有变量并将它们绑定到 findViewById 一次 onCreate()

    如果您只访问这些视图一次,比如说,为它们添加OnClickListeners,我认为不需要创建本地引用(您称之为本地引用)。