如何检索给生成的EditText的随机ID并将其传递给String

时间:2015-12-16 20:07:44

标签: java android xml android-edittext

我正在创建一个应用程序,用户需要生成EditTexts才能输入数据。这是我的代码:

EditText editText = new EditText(getApplicationContext());
editText.setLayoutParams(new ActionBar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
sundayLinearLayout.addView(editText);
editText.setHint("New side");
editText.getBackground().setColorFilter(getResources().getColor(R.color.black), PorterDuff.Mode.SRC_ATOP);
editText.generateViewId();
editText.setTextColor(getResources().getColor(R.color.black));
editText.setHintTextColor(getResources().getColor(R.color.gray));

每次用户点击创建新的EditText时,我都会给它一个随机ID。我需要一些方法来识别用户以某种方式制作的所有EditTexts并将其传递给字符串或int。我该怎么做?

2 个答案:

答案 0 :(得分:0)

将视图添加到任何布局后,您可以调用方法.getId()

然后你可以把它转换成一个字符串并做任何你想做的事。

答案 1 :(得分:0)

有两种方法。 首先,您可以以随机/顺序方式存储在List中。 像这样:

List<EditText> editTextsList = new ArrayList<>();
EditText editText = new EditText(context); 
editTextsList.add(editText);

或者您可以通过TAG识别您的观看次数。

List<EditText> editTextsList = new ArrayList<>();
EditText editText = new EditText(context);
editText.setTag(randomNumber) // it can be any object
editTextsList.add((int)editText.getTag, new EditText(context)); // in case your tag is an int