我有一个非常简单的fragmentDialog,它有这个布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/note"
android:layout_width="wrap_content"
android:layout_marginRight="25dp"
android:layout_marginLeft="25dp"
android:layout_height="wrap_content">
<EditText
android:id="@+id/post_it_note_area"
android:layout_width="match_parent"
android:layout_height="200dp"
android:textColor="@color/gray_text_primary"
android:textSize="16sp"/>
但是当我在editText中键入数字时,键盘会自动关闭。 从日志我得到:
W/ViewRootImpl? Dropping event due to no window focus: KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_7, scanCode=0, metaState=0, flags=0x6, repeatCount=0, eventTime=1548366109, downTime=1548366109, deviceId=-1, source=0x0 }
W/IInputConnectionWrapper? showStatusIcon on inactive InputConnection
我在Moto X 2013上运行android 4.4.4。 是什么导致这种奇怪的行为?如何避免键盘隐藏?
修改 它不是键盘关闭,因为我数字编号,但整个应用程序(没有崩溃)。我还注意到,当我单独键入一个数字时应用程序关闭,而不是在字母附近键入数字时:#34;你好a6&#34; - &GT;好的,&#34;你好6&#34; - &GT;马上关闭)。我在editText中添加了一个textwatcher,并且没有触发任何侦听器的方法..请帮助我!
编辑2: 我现在尝试使用带有Android 5的三星S5,问题没有呈现,可能与Android版本或设备有关吗?
编辑3: 坏消息,如果我输入删除或者#34; Sym&#34;密钥..与以前相同,应用程序关闭
答案 0 :(得分:0)
好的..最后我发现了导致这种行为的原因..
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
getActivity().finish();
return true;
}
});
return dialog;
}
我创建了这个代码来关闭对话框按下后退键,这显然是错误的。 奇怪的是,我希望从此完成键入任何角色的活动..