以编程方式添加edittext ID

问题描述 投票:0回答:1

我已经知道如何以编程方式创建edittext,但问题是它们具有相同的ID,如何在生成的每个edittext上添加随机ID

java android-edittext id
1个回答
0
投票

您无需为每个视图设置唯一的ID。只需为其设置不同的标签:

private static String getTag(int index) {
    return "MY_TAG_" + index;
}

...

for (int i = 0; i < 3; i++) {
    EditText editText = new EditText(this);
    editText.setId(android.R.id.edit);  // same id
    editText.setTag(getTag(i));         // different tag
    layout.addView(editText);
}

EditText firstField = layout.findViewWithTag(getTag(0));
System.out.println(firstField);

但是,如果您仍然想要,有一个静态方法View.generateViewId()

int[] fieldIds = new int[3];

for (int i = 0; i < 3; i++) {
    fieldIds[i] = View.generateViewId();
    EditText editText = new EditText(this);
    editText.setId(fieldIds[i]); // different id
    layout.addView(editText);
}

EditText firstField = layout.findViewById(fieldIds[0]);
System.out.println(firstField);

I / System.out:android.widget.EditText {ed04adc VFED..CL。 ......一世。 0,0-0,0#1020003 android:id / edit}

© www.soinside.com 2019 - 2024. All rights reserved.