我有一个包含5个编辑文本和3个单选按钮和两个按钮的布局。在5个编辑文本后,我有3个单选按钮,然后是2个按钮。在第五个编辑文本中输入文本后,由于软键盘,我无法看到单选按钮和普通按钮。输入第五个编辑文本后,如何禁用该软键盘?任何人都可以帮我解决这个问题...
答案 0 :(得分:0)
尝试使用以下代码段隐藏/关闭软键盘
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
);
答案 1 :(得分:0)
public void hideKeyBord(View view) {
if (view != null) {
if (keyBoardHide == null) {
keyBoardHide = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
}
if (keyBoardHide != null && keyBoardHide.isActive()) {
// to hide keyboard
keyBoardHide.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
}
答案 2 :(得分:0)
InputMethodManager inputManager = (InputMethodManager)
getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
答案 3 :(得分:0)
只需使用:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
每当你想要隐藏软键盘时。
在您的情况下:
让你的第五个EditText
为et
..
然后使用:
if(!et.toString().equals(null)){
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
或强>
您可以检测第五个EditText
是否focused
是否,然后相应地采取行动(即如果EditText
是focused
,则使用上述方法隐藏键盘Done
)请点击以下链接:
How can I detect focused EditText in android?
或强>
在软键盘上检测DONE
键事件:
按下DONE
按钮时键盘会自动关闭。但是,如果您想在按下 et= (EditText) findViewById(R.id.edit_text);
et.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
// do your stuff here
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
return false;
}
});
按钮时执行海关操作,请参阅以下内容:
{{1}}
希望这有帮助!
答案 4 :(得分:0)
隐藏键盘不是一个大问题,但你需要确认"什么时候?" 你需要打电话
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edittext.getApplicationWindowToken(), 0);
用于隐藏软键盘
尝试在edittext xml文件和
中添加android:imeOptions="actionNext"
edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
boolean flag= false;
if (i == EditorInfo.IME_ACTION_NEXT) {
flag= true;
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edittext.getApplicationWindowToken(), 0);
}
return flag;
}
});
此代码将在键盘上单击下一步隐藏您的软键盘