gpt4 book ai didi

android - 在 android 的不同 xml 文件中使用相同的 id 名称

转载 作者:搜寻专家 更新时间:2023-11-01 08:04:48 24 4
gpt4 key购买 nike

我可以在不同 xml 文件的其他布局中使用相同的 ID 名称吗???因为我已经完成了那个,也许因为那个我得到了一个空指针异常,我的那个 xml 的 Activity 没有开始......

最佳答案

当然。您可以在任意数量的布局中为相同的 Widget 类型使用相同的 ID。 只是在相同的布局 XML 中使用不同的 ID。当然,无需讨论是否推荐这样做。

是什么让一些开发人员感到困惑,我承认,当我开始时,它确实让我感到困惑。例如,在 Activity 中转换 Widget 时,我经常感到困惑,为什么我只有一个匹配的 ID,而我在几个不同的布局中都有相同的 ID。

你唯一需要注意的是,例如,考虑这个场景:

我有两个 XML 命名为 layout_1.xmllayout_2.xml 以及 2 个相应的 Activities,命名为 Act1 Act2。现在,两者都有相同的 Widget,比如在两个 XML 中具有相同 ID 的相同 TextView。 (虽然我使用的是这个例子,但这不是假设。这实际上是我的应用程序中的情况)。这与 NullPointer 在他的评论中所说的完全矛盾。我认为他的意思是您不能在相同的 XML 中使用相同的 ID。

<TextView
android:id="@+id/txtFromName"
style="@style/UserName"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:ellipsize="marquee"
android:gravity="top|left|center"
</TextView>

现在,当我在我的代码中转换它时,当我开始输入 findViewById(R.id.txtFrom...)

时,看看建议中显示了什么

enter image description here

当您在多个 XML 文件中使用相同的 ID 时,为什么可能会出现 NPE,这可能是由于对 ID 的混淆。保持相应的 XML 打开并在转换时检查 ID,您应该可以开始了。如果它仍然存在,我建议用您的 XML 代码、Java 代码和 LogCat 崩溃报告更新您的帖子。

我通过逐字复制 ID 并在转换时使用与 Widget 实例相同的名称来跟踪它。但是,我想这只是我的方式。

关于android - 在 android 的不同 xml 文件中使用相同的 id 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811090/

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