gpt4 book ai didi

java - Android - findViewById() 和动态设置 ID

转载 作者:行者123 更新时间:2023-12-02 00:26:16 27 4
gpt4 key购买 nike

我对 ID (ids.xml) 进行了轮询,并为动态创建的 View 分配了 ID。现在我的问题非常简单 - 假设我创建一个新 View 并使用 setId()R.id.uniqueId 结合为其分配一个 id。稍后,我可以使用 findViewById(R.id.uniqueId) 访问该 View 吗?

如果是这样,返回 null 的原因可能是什么?

这是一个玩具示例:已更新

LinearLayout l = new LinearLayout(this);
l.setId(R.id.mId);
setContentView(l); //i see on screen the views added to 'l'
l = (LinearLayout) findViewById(R.id.mId); //it returns null :(

它为什么不注册\映射分配的 ID 到它分配的 View ?

最佳答案

您想要的 View 是否有可用于调用parent.findViewById 的父 View ?这可能有助于缩小您的问题范围。

我注意到您的简短示例中缺少一件事:您需要确保将新的 LinearLayout 添加到 View 层次结构中,然后才能使用 findViewById 找到它:

findViewById(R.id.parent).addView(l)

您还可以使用hierarchy viewer查看一切是否设置正确。

关于java - Android - findViewById() 和动态设置 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9950540/

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