在Android中以编程方式分配视图ID

时间:2014-07-10 16:39:52

标签: android android-layout android-studio

我尝试以编程方式创建一个包含多个孩子的RelativeLayout。要使RelativeLayout.RIGHT_OF之类的规则有效,子视图必须具有正确的ID。

但是,当我尝试分配ID时,Android Studio会将其标记为错误:

view.setId(123);

ERROR: Expected resource of type id

4 个答案:

答案 0 :(得分:11)

找到它:

view.setId(View.generateViewId());

答案 1 :(得分:4)

您有两种选择:

  1. 这不是编译器错误。这只是编辑器验证错误,因为这不是处理ID的常用方法。所以编译运行没有问题
  2. 使用预定义的ID类型列表" id"正如这个接受的答案https://stackoverflow.com/a/8937477/1657333所以编辑会很高兴。

答案 2 :(得分:0)

在Android Studio中点击灯泡上的“错误”。并在第一个子菜单中选择“禁用检查”。

答案 3 :(得分:-1)

正如其他人所说,在这种情况下你不应该直接使用Integers。在某些非常罕见的情况下,您可能需要执行此操作或通常禁止验证警告。如果是这样,那么你需要调查Lint。 在Android Studio中,您可以单击代码行左侧的红色灯泡。这将显示一个上下文菜单,其中包含一系列抑制方法。