Реализация всплывающей подсказки

228
09 апреля 2017, 01:40

Имеется поле для ввода и кнопка, если мы не заполним данное поле и нажмем на кнопку, выводится вот такая ошибка в виде подсказки, как на скриншоте ниже. Подсказка накладывается поверх всех остальных элементов, интересует каким образом можно реализовать это, спасибо)

Answer 1

Это стандартный функционал виджета EditText и реализуется методом setError("Message"). Так же возможен перегруженный метод с собственной иконкой:

editText.setError("message", R.drawable.icon_error);

Проверка на пусстое поле может быть такой:

final EditText editText = (EditText)findViewById(R.id.edit);
editText.addTextChangedListener(new TextWatcher()  {
   @Override
   public void onTextChanged(CharSequence s, int start, int before, int count) {
   }
   @Override
   public void beforeTextChanged(CharSequence s, int start, int count, int after) {
   }
   @Override
   public void afterTextChanged(Editable s)  {
     if (editText.getText().toString().length <= 0) {
        firstName.setError("Не может быть пустым");
     } else {
        firstName.setError(null);
     }
   }
});

UPDATE: Так же вы можете использовать более стильный виджет из библиотеки поддержки TextInputLayout и выводить ошибки такого вида:

<android.support.design.widget.TextInputLayout  
    android:id="@+id/inputLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:errorEnabled="true">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/First_name" />
</android.support.design.widget.TextInputLayout>
TextInputLayout inputLayout = (TextInputLayout) findViewById(R.id.inputLayout);  
inputLayout.setError("First name is required"); // show error  
inputLayout.setError(null); // hide error 
READ ALSO
Chat Firebase Toast Fragment

Chat Firebase Toast Fragment

Проблема c:

328
Как мне получить текущую позицию при перетаскиваниии в RecyclerView с анимацией Dragging

Как мне получить текущую позицию при перетаскиваниии в RecyclerView с анимацией Dragging

Как мне получить текущую позицию при перетаскиваниии:

342
Добавить таблицу по нажатии кноки JavaFX

Добавить таблицу по нажатии кноки JavaFX

Разработайте приложение "Модификация одномерного массива", которое позволяет пользователю:

261
Какие пакеты api android и java совпадают полность?

Какие пакеты api android и java совпадают полность?

Где можно узнать какие пакеты полностью совпадают в Java 8 и Android 4x и выше? Какие пакеты совпадают полностью? Например java

271