DialogFragment:在edittext中键入数字后,键盘会自动隐藏

时间:2015-03-22 14:05:41

标签: android-edittext android-softkeyboard android-dialogfragment

我有一个非常简单的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;密钥..与以前相同,应用程序关闭

1 个答案:

答案 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;

}

我创建了这个代码来关闭对话框按下后退键,这显然是错误的。 奇怪的是,我希望从此完成键入任何角色的活动..