gpt4 book ai didi

java - Android:使用findViewById时需要引用 View ?

转载 作者:行者123 更新时间:2023-11-29 19:48:32 26 4
gpt4 key购买 nike

这更多是出于好奇。我有这个 fragment :

View mView = mInflater.inflate(R.layout.myButton, null);
ImageButton button = (ImageButton) mView.findViewById(R.id.mButton);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
...

首先,我在没有 mView-reference 的情况下尝试了它,它按预期工作。所以在 developer.android.com

Buttons 部分也有描述

但是,with mView 也可以。

我的问题是,真的需要引用它吗?它背后的目的是什么?

为什么它是双向的?任何给定的用法都有缺点吗?

谢谢。

最佳答案

Why it works both ways?

如果两种方式都有效,则可能意味着两种不同的事情。首先,您还将 myButton.xml 传递给了 setContentView。在这种情况下,作为其 View 层次结构的一部分,Activity 具有一个 ID 为 mButton 的 View 。它按预期工作,但当然,OnClickListener,在膨胀布局的情况下用途较少,除非您将膨胀 View 添加到 Activity 的 View 层次结构.如果您没有将 myButton.xml 传递给 setContentView,则意味着您有两个单独的布局,它们包含具有相同 ID 的相同 ImageButton .在这种情况下,关于 OnClickListener 的考虑也是有效的。

关于java - Android:使用findViewById时需要引用 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37391244/

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