2013-10-07 3 views
1

Я использую скрытый EditText (видимость не установлена ​​в невидимую, а EditText имеет ширину и высоту 0dp) для получения пользовательского ввода. Я использую входные данные для заполнения других текстовых элементов. Причина, по которой я делаю это, - это то, что я не хочу, чтобы видимые формы (TextViews) имели те же свойства, что и настоящий EditText, но я хочу использовать Soft Keyboard.Как добавить фокус в EditText при нажатии на другой TextView

Проблема заключается в том, что, когда пользователь хочет скрыть клавиатуру, нажав кнопку «Готово», я хочу, чтобы она снова появлялась, когда они нажимают на TextView, чтобы они снова могли начать редактирование скрытый EditText.

Я попытался следующий код, без успеха:

if(hiddenEt.requestFocus()) { 
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
} 

Код в Условный оператор мчит, но мягкая клавиатура не появляется.

Есть ли отдельная функция для фактического вызова Soft Keyboard?

ответ

1

Попробуйте следующий код в TextView это по щелчку ..

hiddenEt.requestFocus(); 
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(hiddenEt, InputMethodManager.SHOW_IMPLICIT); 
+0

Работал как очарование, спасибо! – Joey

+0

Я за 55 секунд;) – Joey

+0

k..no probz: :)) – Hariharan

0
InputMethodManager imm=(InputMethodManager)getSystemService(yourActivity.this.INPUT_METHOD_SERVICE); 
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); 

Добавить android:windowSoftInputMode="stateVisible|adjustResize|adjustPan" в вашем файле манифеста.

<activity 
      android:name=".yourActivity" 
      android:configChanges="keyboardHidden|orientation" 
      android:screenOrientation="portrait" 
      android:windowSoftInputMode="stateVisible|adjustResize|adjustPan" > 
     </activity> 
Смежные вопросы