我已经制作了自己的键盘,在我的活动中有一个选项(英语 - 印地语,印地语 - 英语),当用户选择英语 - 印地语时,默认键盘将打开并隐藏我的自定义键盘,或者当用户选择印地语 - 英语选项时默认键盘将被隐藏,自定义键盘将被打开
下面是我的源代码,
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());
}
}
在这个问题中,当我当时开始我的活动时,我希望印地语键盘应该显示并且默认键盘应该是不可见的,但问题是
启动时不会显示印地语键盘,会弹出默认键盘