Intereting Posts
Android BroadcastReceiver при запуске – продолжайте работать, когда Activity находится в фоновом режиме Что означают цветные пузыри в средстве просмотра иерархии? Установите глобальную переменную в градиенте, которая может использоваться в файле манифеста Google Google отображает прозрачность Как добавить EditText в listview и динамически получить его значение во всех строках? Как использовать onQueryTextChange со многими фрагментами Как удалить строку правого поля в Android Studio (Intellij)? Android-приложение вылетает с сигналом SIGABRT 6 только при отладке Eclipse Как нарисовать заголовок раздела в списке Android, как и UITableview ios? Изменить тему ListFragment, чтобы быть отличным от активности? Как программно удалить уведомление из панели уведомлений в android? Требуется Gradle версия 2.10. Текущая версия 2.8 Ошибка Как получить текущий уровень масштабирования GoogleMap? RelativeLayout – CenterInParent и marginTop GetWritableDatabase () VS getReadableDatabase ()

Как скрыть Soft Keyboard при запуске активности

У меня есть Edittext с android:windowSoftInputMode="stateVisible" в манифесте. Теперь клавиатура будет показана, когда я начну свою деятельность. Как скрыть это? Я не могу использовать android:windowSoftInputMode="stateHidden потому что, когда клавиатура видна, свернуть приложение и возобновить его, клавиатура должна быть видимой.

InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

Но это не сработало.

Solutions Collecting From Web of "Как скрыть Soft Keyboard при запуске активности"

Используйте следующие функции, чтобы показать / скрыть клавиатуру:

 /** * Hides the soft keyboard */ public void hideSoftKeyboard() { if(getCurrentFocus()!=null) { InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0); } } /** * Shows the soft keyboard */ public void showSoftKeyboard(View view) { InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); view.requestFocus(); inputMethodManager.showSoftInput(view, 0); } 

В AndroidManifest.xml:

  <activity android:name="com.your.package.ActivityName" android:windowSoftInputMode="stateHidden" /> 

Или попробуйте

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN)‌​; 

Также проверьте это.

Просто добавьте два атрибута в родительский вид editText.

 android:focusable="true" android:focusableInTouchMode="true" 

Попробуй это:

 <activity ... android:windowSoftInputMode="stateHidden|adjustResize" ... > 

Посмотрите на это для более подробной информации.

Чтобы скрыть экранную клавиатуру во время запуска New Activity или onCreate() , onStart() и т. Д., Вы можете использовать следующий код:

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

Поместите это в манифест внутри тега Activity

  android:windowSoftInputMode="stateHidden" 

Добавьте следующий текст в ваш XML-файл.

 <!--Dummy layout that gain focus --> <LinearLayout android:layout_width="0dp" android:layout_height="0dp" android:focusable="true" android:focusableInTouchMode="true" android:orientation="vertical" > </LinearLayout> 
  Try this one also Ed_Cat_Search=(EditText)findViewById(R.id.editText_Searc_Categories); Ed_Cat_Search.setInputType(InputType.TYPE_NULL); Ed_Cat_Search.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { Ed_Cat_Search.setInputType(InputType.TYPE_CLASS_TEXT); Ed_Cat_Search.onTouchEvent(event); // call native handler return true; // consume touch even } }); 

Поместите этот код в свой Java-файл и передайте аргумент для объекта в edittext,

 private void setHideSoftKeyboard(EditText editText){ InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); } 

Это то, что я сделал:

 yourEditText.setCursorVisible(false); //This code is used when you do not want the cursor to be visible at startup yourEditText.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { v.onTouchEvent(event); // handle the event first InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) { imm.hideSoftInputFromWindow(v.getWindowToken(), 0); // hide the soft keyboard yourEditText.setCursorVisible(true); //This is to display cursor when upon onTouch of Edittext } return true; } }); 

Попробуй это.

Сначала в вашем поисковом xml поля (имя и подсказка и т. Д.) @string строки @string а не литералы.

Затем метод onCreateOptionsMenu должен иметь объект ComponentName с именем вашего пакета и вашим завершенным именем класса (с именем пакета). В случае, если активность, у которой есть компонент SearchView совпадает с результатами поиска для показа, используйте getComponentName() , как Google Android Говорит разработчик.

Я пробовал много решений, и после многого, много работы это решение работает для меня.

Я надеюсь, что это сработает, я пробовал много методов, но этот работал для меня fragments . Просто поместите эту строку в onCreateview / init.

 getActivity().getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

Вы можете установить конфигурацию на AndroidManifest.xml

Пример:

 <activity android:name="Activity" android:configChanges="orientation|keyboardHidden" android:theme="@*android:style/Theme.NoTitleBar" android:launchMode="singleTop" android:windowSoftInputMode="stateHidden"/>