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.
getParentForAccessibility()
worked for me
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)