我以编程方式添加按钮,而按钮的数量取决于某些条件。要为 RelativeLayout.LayoutParams 添加规则,使按钮彼此对齐,我需要设置其ID。 2-3年前的所有答案都说setId(int)可以(例如setId(1)),但现在是禁止的( UPD 。仅使用int常量不可以。使用int变量,一切都可以。请问为什么)。如今该怎么做?

最佳答案

根据API的规定,它不被禁止或不建议使用。这是使用它的最佳方法。

  • 创建res/values/ids.xml并定义
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
            <item type="id" name="button1" />
            <item type="id" name="button2" />
    </resources>
    
  • 一旦拥有,就可以使用setId
    button1.setId(R.id.button1);
    button2.setId(R.id.button2);
    
  • 10-07 19:05