附加到我的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
中的文本保持不变。
这是我的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" />
要隐藏键盘,您必须在侦听器回调中执行此操作:
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挂起,可能是原因。
尝试在另一个线程中调用该操作。