0

У меня есть очень простой fragmentDialog с этим макетом:DialogFragment: клавиатура скрывает автоматически после ввода номера в EditText

<?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 

Я бегу андроид 4.4.4 на Moto X 2013. Что причина это странное поведение? Как я могу избежать скрытия клавиатуры?

EDIT: Это не клавиатура, которая закрывается, когда я цифра номера, но все приложение (без сбоев). Я также заметил, что приложение закрывается, когда я набираю номер один, а не если я набираю число рядом с буквой: «hello a6» -> ok, «hello 6» -> немедленно закрывается). Я добавил textwatcher в editText, и ни один из методов слушателя не активирован. Пожалуйста, помогите мне!

EDIT 2: Я пытался теперь с Samsung S5 с Android 5 и вопрос не представляя, возможно, что-то связанное с Android версии или устройства?

EDIT 3: Плохие новости, проблема снова представления на S5, если я типа удаления или клавиши «SYM» .. То же самое, как и прежде, приложение закрывается

ответ

0

Ok .. Наконец я обнаружил, что вызвало такое поведение ..

@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; 

} 

Я сделал этот код для закрытия dialogFragment, нажав кнопку назад, и это, очевидно, глючит. Странно то, что я ожидал бы от thisto закончить деятельность, набрав любой символ.