2013-03-04 3 views
0

Я пытаюсь показать клавиатуру в эмуляторе для своего EditText, но все, что я пробовал, не появляется.Android. Клавиатура никогда не появляется

Это, как я объявляю его в XML-файле:

<EditText 
    android:id="@+id/editTextSearch" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="20dp" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:layout_marginTop="50dp" 
    android:layout_weight="0.05" 
    android:background="@color/white" 
    android:ems="10" 
    > 

</EditText> 

Это, как я с ним работать в Java файл:

private void createTextEdit() 
{ 
    EditText searchTextField = (EditText)findViewById(R.id.editTextSearch); 
    searchTextField.addTextChangedListener(new TextWatcher() 
    { 
     public void afterTextChanged(Editable s) 
     { 
      System.out.println("AFTER TEXT CHANGED");                
     } 
     public void beforeTextChanged(CharSequence s, 
     int start, int count, int after) 
     { 
      System.out.println("BEFORE TEXT CHANGED " + s); 
     } 

     public void onTextChanged(CharSequence s, 
       int start, int before, int count) 
     { 
      System.out.println(s); 
     } 

    }); 

    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.showSoftInput(searchTextField, InputMethodManager.SHOW_IMPLICIT); 
} 

А также я заявил следующее в файле манифеста:

<activity 
     android:name = "com.blabla.blablabla.MyActivity" 
     android:windowSoftInputMode="stateVisible"> 
    </activity> 

И клавиатура никогда не отображается. Что мне не хватает?

+0

попробуйте удалить 'InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.showSoftInput (searchTextField, InputMethodManager.SHOW_IMPLICIT); ' –

+0

@pietmau это не помогает –

+0

youre используя эмулятор, правильно? –

ответ

1

Пожалуйста, убедитесь, что ваш Emulator не имеет «Аппаратная клавиатура присутствует».

0

Попробуйте это;

<EditText 
.... 
<requestFocus /> 
</EditText> 
+0

это не помогает –

+0

Пожалуйста, проверьте на самом устройстве. в эмуляторе он может не работать –

+0

вы можете добавить эту строку в manifest.xml android: windowSoftInputMode = "stateAlwaysVisible" –

1

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

0

Попробуйте заставить softkeyboard открыть, как показано ниже:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.showSoftInput(searchTextField, InputMethodManager.SHOW_FORCED); <-- change here. 
Смежные вопросы