按完成后,EditText被清除并且表现得很奇怪

问题描述 投票:2回答:1

附加到我的EditTextnew 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中的文本保持不变。

这是我的EditText的XML

<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" />
android android-edittext
1个回答
0
投票

要隐藏键盘,您必须在侦听器回调中执行此操作:

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()));

这一行可能导致UI挂起,可能是原因。

尝试在另一个线程中调用该操作。

© www.soinside.com 2019 - 2024. All rights reserved.