ユーザーが英語-ヒンディー語を選択すると、デフォルトのキーボードが開いてカスタムキーボードが非表示になるか、ユーザーがヒンディー語-英語オプションをデフォルトで選択すると、オプション(英語-ヒンディー語、ヒンディー語-英語)があります。キーボードが非表示になり、カスタム キーボードが開きます
以下は私のソースコードです、
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());
}
}
この問題では、その時点でアクティビティを開始したときに、ヒンディー語キーボードを表示し、デフォルトのキーボードを非表示にする必要がありますが、問題は
ヒンディー語のキーボードは起動時に表示されず、デフォルトのキーボードがポップアップします