I had the same problem with textAllCaps for EditText in my application.
I have found that
textAllCapsis a property forTextViewonly. You can not use this property forEditText.
So, I did R&D for it and found a better solution for this issue.
Rather than using
textAllCapswe can useandroid:inputType="textCapCharacters".
E.g.
<EditText
android:id="@+id/edittext1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textCapCharacters"
android:hint="@string/first_name"
android:padding="10dp" >
</EditText>
If we use android:inputType="textCapCharacters" it will convert all characters into UPPER CASE, like we want in textAllCaps.
P.S. If you use the shift key and type text it may convert the text in lowercase. You can always use
toUpper()method in string object to convert it back to uppercase.
It may help…
You can read these details from this blog post: https://androidacademic.blogspot.com/2018/05/indexoutofbounds-exception-while-using.html