This question already has answers here:
Android: View.setID(int id) programmatically - how to avoid ID conflicts?

(14个回答)


4年前关闭。




我有一个ImageButton,当用户单击它时,EditText被添加到布局中。所以我想要的是每个EditText都有一个唯一的ID。

a = 0;
imgAddText.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
       if (a <= 5) {
           layoutAddText.addView(createEditText());
           a++;
       }
    }
});

private EditText createEditText() {
    final LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
    final EditText editText = new EditText(this);
        return editText;
}

最佳答案

实际上所有视图都有setId方法。您可以利用它。

setId(int id)


我强烈建议您改用setTag。我希望您的设置ID使用相同的ID通过findViewId(int)找回它的原因。您可以通过findViewWithTag(Object tag)实现相同的目标

10-05 23:03
查看更多