2016-11-03 3 views
0

Я хочу реализовать планшет в Android-приложении, чтобы клавиатура автоматически отображалась на экране. Теперь моя ситуация заключается в том, что я добавляю текст редактирования в xml-файл, а при нажатии на текст редактирования появляется клавиатура, я хочу показать автоматическую клавиатуру. Когда пользователи нажимают на галочку, клавиатура исчезает, но я хочу, чтобы эта клавиатура не была отклонена, а щелчок на галочке означает проверку ввода. Любые образцы или помощь оценены!Keyboard auto on in Android

+1

@ попытаться добавить код здесь, чтобы мы могли понять, ясно – Firefog

+0

К сожалению, Firefog , Я до сих пор не написал этот код, и я попробую метод, который другие предоставляют, спасибо! –

ответ

0

Проверьте с этим: Добавить это на флажок нажмите

Чтобы показать виртуальную клавиатуру:

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

ИЛИ

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

Чтобы скрыть виртуальную клавиатуру:

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

Here, “FOCUSABLE_VIEW” can be any view which is visible on screen like 

См: http://chintanrathod.com/show-hide-soft-keyboard-programmatically-in-android/

1

Использование ниже метода с активностью

//To show the keyboard 
public void showKeyboard(Activity activity) { 
    if(activity.getCurrentFocus()!=null) { 
     InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(INPUT_METHOD_SERVICE); 
     inputMethodManager.showSoftInputFromInputMethod(activity.getCurrentFocus().getWindowToken(), 0); 
    } 
} 

//To hide the keyboard 
public void hideKeyboard(Activity activity) { 
     if(activity.getCurrentFocus()!=null) { 
      InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(INPUT_METHOD_SERVICE); 
      inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0); 
     } 
    } 

ИЛИ

Использование ниже метода с EditText

//To show the keyboard 
public void showSoftKeyboard(EditText editText) { 
     InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 
    } 

//To hide the keyboard 
    `public void hideSoftKeyboard(EditText editText) { 
     InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); 
} 

Используйте вышеуказанный метод согласно вашему требованию

0

Ниже приведены способы отображения и скрытия клавиатуры. Взгляни.

public static void ShowKeyboard(Activity activity, View view) { 
    InputMethodManager inputMethodManager = 
      (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); 
    inputMethodManager.toggleSoftInputFromWindow(
      view.getApplicationWindowToken(), 
      InputMethodManager.SHOW_FORCED, 0); 
} 

public static void HideKeyBoard(Activity activity) { 
    try { 
     InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); 
     if (inputMethodManager.isAcceptingText()) 
      inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

Если вы хотите, чтобы открыть клавиатуру начала деятельности, вы можете добавить следующий код в <activity> тег в манифесте:

android:windowSoftInputMode="stateVisible" 

это покажет клавиатуру, когда вы начинаете деятельность.

0

Вы можете использовать следующий код,

editext.requestfocus();

это автоматически приносит клавиатуру.

Не используйте, андроида: windowSoftInputMode = "stateHidden" внутри вашего андроида файла манифеста ...

просто удалить "Android: windowSoftInputMode" от вашей деятельности.

+0

Извините, но editext.requestfocus(); доза не работает для меня. Это мой код: LinearLayout linearLayout = (LinearLayout) inflater.inflate (R.layout.ms_pdf_viewer_support, контейнер, false); EditText editText = (EditText) linearLayout.findViewById (R.id.editText); editText.requestFocus(); –

+0

Не используйте следующее в вашем манифесте Android, – lakshmi

0

Это будет работать, а также всегда старайтесь использовать etText.requestfocus(); он будет автоматически открывать клавиатуру и государственной статической силы ShowKeyboard (активность Активность, Вид v) {

InputMethodManager inputMethodManager = 
      (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); 
inputMethodManager.toggleSoftInputFromWindow(
     view.getApplicationWindowToken(), 
     InputMethodManager.SHOW_FORCED, 0); 

}

+0

Спасибо за все ваши ответы, ребята! Моя ошибка - не более подробно описывать проблему. Я хочу создать диалог, и в диалоговом окне есть редактор, я хочу, чтобы автоматическая клавиатура включалась при отображении диалога. Я нашел способ решить его, это мой код: Диалог dialog = new MyDialog (getActivity()); dialog.getWindow(). SetSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); dialog.show(); –

+0

О, это действительно здорово! Так держать! – HsRaja