2016-02-10 3 views
0

У меня есть editText на главной странице. Я хочу, чтобы клавиатура открывалась автоматически при запуске приложения и фокусировалась на этом editText. Я пробовал много «решений», которые я нашел в Интернете, но мне ничего не помогло. Клавиатура по-прежнему не отображается автоматически. Кстати, мой EditText обладает следующими свойствами:Автоматическая всплывающая клавиатура программного обеспечения при запуске приложения

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/editText" 
    android:gravity="left" 
    android:focusable="true" 
    android:enabled="true" 
    android:focusableInTouchMode="true" /> 

Так как я делаю клавиатура появляется автоматически?

ответ

0

Вы должны сделать две вещи (я только что протестировал это и он работает просто отлично):

1: запрос фокус для поля. Из Java-файла деятельности вы можете сделать

mTextView = (EditText) findViewById(R.id.textView); 
    mTextView.requestFocus(); 

Из файла XML можно переписать элемент следующим образом:

<EditText android:id="@+id/textView"> 
    <requestFocus/> 
</EditText> 

2: Force клавиатуры при показе активности: в onCreate метод просто напишите эту строку:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); 
+0

Большое вам спасибо! Эта вещь действительно работала для меня. Приложение продолжило сбой из-за запроса фокуса на активность. Я просто удалил эту строку. Теперь клавиатура всплывает и фокусируется на элементе EditText. –

+0

Я рад, что это помогло :) Вы можете отметить ответ, чтобы другие могли видеть, что это рабочий подход. –

0

android:windowSoftInputMode="stateAlwaysVisible Добавить "в свой activity тег в файле AndroidManifest.xml

<activity 
    android:name=".TestActivity" 
    android:windowSoftInputMode="stateAlwaysVisible" /> 

Также используйте requestFocus тег в EditText.

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/editText" 
    android:gravity="left" 
    android:focusable="true" 
    android:enabled="true" 
    android:focusableInTouchMode="true"> 
    <requestFocus /> 
</EditText> 
+0

@NikolayS Вы пробовали это решение? –

+0

Я до сих пор не понимаю причину, но это тоже не помогло. Я делал все так, как вы писали. –

0

вызова myeditText.requestFocus() после инициализации макет по своему данный вид деятельности onCreate().

+0

Это приводит к сбою приложения при каждом его запуске. Очень странно ... –

+0

удалить focusableInTouchMode, включенные и настраиваемые свойства из вашего xml-макета. Запустите приложение еще раз, и если он отключил комментарий здесь и обновил ваш вопрос с журналом ошибок –

+0

Да, я попробовал, и снова он разбился. Извините за такой глупый вопрос, но как мне получить журнал ошибок? BTW, я запускаю приложение на своем смартфоне. Он падает на другой. –

Смежные вопросы