I want to show an error message if no item is selected from the AutoCompleteTextView.
Here is my XML
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/customerSpinnerLayout"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginTop="10dp"
android:layout_marginRight="20dp"
android:hint="Gender"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textInputLayout3"
app:startIconDrawable="@drawable/ic_gender">
<androidx.appcompat.widget.AppCompatAutoCompleteTextView
android:id="@+id/spinnerGender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:inputType="none"
android:focusable="false"
tools:ignore="KeyboardInaccessibleWidget,SpeakableTextPresentCheck" />
</com.google.android.material.textfield.TextInputLayout>
Java Code
ArrayAdapter<CharSequence> genderAdapter = ArrayAdapter.createFromResource(this,
R.array.gender,
android.R.layout.simple_spinner_item);
genderAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerGender.setAdapter(genderAdapter);
String gender = spinnerGender.getText().toString();
if (gender.isEmpty()){
spinnerGender.setError("Select your gender");
spinnerGender.requestFocus();
}
It is not working What am I doing wrong?
Advertisement
Answer
If I set an error on customerSpinnerLayout then it works
Everything is the same as above you just have to change the condition
if (gender.isEmpty()){
customerSpinnerLayout.setError("Select your gender");
// you can also requestFocus
}
It works for me. Best of luck
