レイアウトに動的に追加されたEditTextsがあります。IDはありません。このEditTextsはすべて必須であり、空のままにすることはできません。私は検証のためにこの関数を持っています:
private boolean validate() {
boolean valid = true;
for (int i = 0; i < layout.getChildCount(); i++) {
if (layout.getChildAt(i).getTag() != null && layout.getChildAt(i).getTag().toString().contains("required")) {
String viewClass = layout.getChildAt(i).getClass().getName();
if (viewClass.contains("EditText")) {
EditText et = (EditText) layout.getChildAt(i);
if (et.getText().toString().trim().isEmpty()) {
Log.d("#########", "EDIT TEXT ERROR");
et.setError("This field is required.", getResources().getDrawable(R.drawable.indicator_input_error));
valid = false;
}
}
}
}
}
layout
EditTextsを含む私のレイアウトはどこにありますか。ログは表示されますが、エラーは表示されません。setError
行を変更した場合
et.setText("#########");
テキストが適切に変更されます。エラーが表示されないのはなぜですか?