Android - 如果 EditText 在按键时为空,如何隐藏软键盘?
Android - How to hide softkeyboard if EditText is empty on key press?
我正在做一个计算项目。所以,我的 EditText
框在工作,如果用户单击完成(或任何其他类型的按钮、GO、下一步等)并且 EditText 框是,我想隐藏 softkeyboard
空
像这样:
EditText 为空 -> 用户点击按钮 -> 软键盘隐藏
我有这段代码,是我使用 Internet 上的教程和指南设法编写的
我知道是管理softkeyboard
中按钮的监听器
TextView.OnEditorActionListener mEditor = new TextView.OnEditorActionListener()
{
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
{
if (actionId == EditorInfo.IME_ACTION_DONE)
{
//Calculations method
}
return false;
}
};
所以,我的问题是:当 EditText
为空且不出错时,如何管理监听器?
你可以使用,例如:
TextView.OnEditorActionListener mEditor = new TextView.OnEditorActionListener()
{
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
{
if (actionId == EditorInfo.IME_ACTION_DONE)
{
if (!TextUtils.isEmpty(v.getText().toString())){
// you calculations method
} else {
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getApplicationWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
}
return false;
}
};
我正在做一个计算项目。所以,我的 EditText
框在工作,如果用户单击完成(或任何其他类型的按钮、GO、下一步等)并且 EditText 框是,我想隐藏 softkeyboard
空
像这样:
EditText 为空 -> 用户点击按钮 -> 软键盘隐藏
我有这段代码,是我使用 Internet 上的教程和指南设法编写的
我知道是管理softkeyboard
TextView.OnEditorActionListener mEditor = new TextView.OnEditorActionListener()
{
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
{
if (actionId == EditorInfo.IME_ACTION_DONE)
{
//Calculations method
}
return false;
}
};
所以,我的问题是:当 EditText
为空且不出错时,如何管理监听器?
你可以使用,例如:
TextView.OnEditorActionListener mEditor = new TextView.OnEditorActionListener()
{
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
{
if (actionId == EditorInfo.IME_ACTION_DONE)
{
if (!TextUtils.isEmpty(v.getText().toString())){
// you calculations method
} else {
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getApplicationWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
}
return false;
}
};