EditText очищается после нажатия Готово и ведет себя странно - PullRequest
0 голосов
/ 13 сентября 2018

Прилагается к моему EditText это new TextView.OnEditorActionListener()

public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {

 if(i == EditorInfo.IME_ACTION_DONE){

  dataSnapshot.child("add").child(child.getKey()).child("comment").getRef().setValue(String.valueOf(serviceComment.getText()));
  return true;

 }else{

  return false;

 }

}

После выполнения текст внутри моего EditText очищается, когда я хочу, чтобы он сохранялся.

Кроме того, после того, как он очищен, и я ввожу ту же самую вещь, код не выполняется, и клавиатура не исчезает, пока я не наберу что-то отличное от того, что я набрал ранее.

Моя конечная цель - сохранить текст внутри моего EditText, чтобы он сохранялся после нажатия кнопки «Готово» и скрытия клавиатуры.

Вот XML для моего EditText

<EditText
        android:id="@+id/txtComment"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="@color/colorSecondary"
        android:hint="Enter a comment"
        android:imeOptions="actionDone"
        android:maxLength="200"
        android:maxLines="1"
        android:singleLine="true"
        android:textColor="@color/colorBlack"
        android:textSize="14sp" />

1 Ответ

0 голосов
/ 13 сентября 2018

Чтобы скрыть клавиатуру, вы должны выполнить это внутри обратного вызова слушателя:

InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);

Пожалуйста, попробуйте.

Кроме того, проблема с редактированием текста может быть связана со строкой:dataSnapshot.child ("add"). child (child.getKey ()). child ("comment"). getRef (). setValue (String.valueOf (serviceComment.getText ()));

Этострока может вызывать зависание пользовательского интерфейса и может быть причиной.

Попробуйте вызвать эту операцию в другом потоке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...