В моем приложении выбор элемента прядильщика является обязательным.Как я могу показать ошибку пользователю, если пользователь не выбирает какой-либо элемент? - PullRequest
0 голосов
/ 17 июня 2019

Я хочу показать сообщение об ошибке в Spinner, в котором говорится, что пользователь «выбирает состояние», когда пользователь не делает никакого выбора в счетчике (выбор spinner item обязателен).

Как я могу сделать это с кодом Mainactivity.java?

<Spinner
        android:id="@+id/spinner1"  
        android:layout_width="319dp" 
        android:layout_height="52dp"  
        android:layout_marginTop="11dp" 
        android:entries="@array/state_arrays"/>

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Добавьте указанную ниже функцию, чтобы проверить, что spinner содержит текст по умолчанию.

 public static boolean validateSpinner(AppCompatSpinner[] fields) {
        for (int i = 0; i < fields.length; i++) {
            AppCompatSpinner currentField = fields[i];
            if (currentField.getCount() <= 0 || currentField.getSelectedItem().toString().contains("Your Default Value")) {
                ((TextView) currentField.getSelectedView()).setError(fieldRequired);
                return false;
            }
        }
        return true;
    }

Если спиннер выбрал какой-либо из выпадающих пунктов, он возвращает true, иначе false.

 if (!validateSpinner(new AppCompatSpinner[]{citySpinner}))
             Utils.showSnackbar(mainLayout, selectCityTxt);

Добавьте эту строку, где вы хотите проверить spinner.

Вместо отображения Toast функция validateSpinner() создаст динамический textview для отображения сообщения об ошибке.

0 голосов
/ 17 июня 2019

Вы можете проверить счетчик с помощью метода .equals().Попробуйте следующий код:

if (Spinner1.getSelectedItem().toString().trim().equals("select a city")) {
    Toast.makeText(CallWs.this, "Error", Toast.LENGTH_SHORT).show();
}
...