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
<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" />
答案 0 :(得分: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挂起,并且可能是原因。
尝试在另一个线程中调用该操作。