Скрыть программный ввод в OnCreate

У меня есть TableLayout, в который я динамически добавляю содержимое в код в OnCreate. Как только активность создается, она фокусируется на одном из моих динамически созданных текстов EditText и отображает клавиатуру. Я не хочу, чтобы клавиатура отображалась до тех пор, пока пользователь специально не нажмет один из EditTexts. Я пробовал:

InputMethodManager input = (InputMethodManager) GetSystemService(InputMethodService);
input.HideSoftInputFromWindow(CurrentFocus.WindowToken, 0);

Но клавиатура по-прежнему отображается, а CurrentFocus возвращает значение null. Поэтому, когда я пытаюсь специально направить фокус на другое представление, а затем выполняю описанное выше, например:

InputMethodManager input = (InputMethodManager) GetSystemService(InputMethodService);
title.FindFocus();
input.HideSoftInputFromWindow(CurrentFocus.WindowToken, 0);

CurrentFocus по-прежнему имеет значение null, а клавиатура по-прежнему отображается. title — это TextView, экземпляр которого у меня уже есть в коде. Могу ли я просто не фокусироваться на TextView или я что-то еще упускаю?

8
задан jmease 20 April 2012 в 13:01
поделиться