2013-10-11 5 views
2

У меня есть собственная клавиатура, в моей деятельности есть опция (английский-хинди, хинди-английский) , когда пользователь выбирает англо-хинди, клавиатура по умолчанию будет открыта и скрыть свою кодовую клавиатуру или когда пользователь выбирает хинди-английский вариант клавиатуры по умолчанию будет скрывать и пользовательские клавиатуры будут открытыЗакрыть/скрыть клавиатуру Android и показать пользовательскую клавиатуру

ниже мой исходный код,

private EditText mEt; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    mEt = (EditText) findViewById(R.id.searchText); 
    enableHindiKeyboard(); 
    hideDefaultKeyboard(); 
} 

Для прячась по умолчанию клавиатуры

private void hideDefaultKeyboard() { 
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.hideSoftInputFromWindow(mEt.getWindowToken(), 0); 
} 

Для включения хинди клавиатуры

public void enableHindiKeyboard() {  
    try { 
      for (int i = 0; i < mB.length; i++) 
       mB[i].setOnClickListener(this); 

      mBSpace.setOnClickListener(this); 
      mBdone.setOnClickListener(this); 
      mBack.setOnClickListener(this); 
      mBChange.setOnClickListener(this); 
      mNum.setOnClickListener(this); 
      mEt.setOnTouchListener(MainActivity.this); 
      mEt.setOnFocusChangeListener(MainActivity.this); 
      mEt.setOnClickListener(MainActivity.this); 

     } catch (Exception e) { 
      Log.w(getClass().getName(), e.toString()); 
     } 
} 

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

Hindi клавиатуры не будет отображаться при запуске, а клавиатура по умолчанию будет всплывать

ответ

0

Используйте это, чтобы скрыть клавиатуру imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); и показать клавиатуру снова. Сначала позвоните hideDefaultKeyboard(); до enableHindiKeyboard(); Надеюсь, что это поможет.

0

попробовать этот

В вашем AndroidManifest.xml:

<activity android:name="com.your.package.ActivityName" 
     android:windowSoftInputMode="stateHidden" /> 
1
// try this 
    public void showSoftKeyboard() { 
     try { 
      InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); 
      inputMethodManager.toggleSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.SHOW_FORCED, 0); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

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

    } 
0
try 
{ 
    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); 
    inputMethodManager.toggleSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.SHOW_FORCED, 0); 
} 
catch (Exception e) 
{ 
    e.printStackTrace(); 
} 
Смежные вопросы