AppCompatEditText.getpParent() inside TextInputLayout returns FrameLayout AppCompatEditText.getpParent() inside TextInputLayout returns FrameLayout android android

AppCompatEditText.getpParent() inside TextInputLayout returns FrameLayout


Update:
Use the widget TextInputEditText instead of EditText inside a TextInputLayout.

old answer

TextInputLayout textInputLayout = (TextInputLayout) editText.getParent().getParent();

That seems to work as a quick fix. Far from ideal.


You can check if EditText is inside TextInputLayout using following method:

public static <ParentClass> ParentClass getFirstParent(View view, Class<ParentClass> parentClass) {    if (view.getParent() instanceof View) {        if (parentClass.isInstance(view.getParent())) {            return (ParentClass) view.getParent();        } else {            return getFirstParent((View) view.getParent(), parentClass);        }    } else {        return null;    }}

Example of use:

TextInputLayout textInputLayout = getFirstParent(editText, TextInputLayout.class)