这是我的问题!Android:可以在光标位置隐藏软键盘吗?
我有一个最大字符的EDITTEXT场是1
<EditText
android:id="@+id/editText"
android:maxLength="1"/>
然后我叫软键盘输入的字符。 是否有可能在输入一个字符后自动隐藏键盘? 如果可能的话,我该怎么做?
这是我的问题!Android:可以在光标位置隐藏软键盘吗?
我有一个最大字符的EDITTEXT场是1
<EditText
android:id="@+id/editText"
android:maxLength="1"/>
然后我叫软键盘输入的字符。 是否有可能在输入一个字符后自动隐藏键盘? 如果可能的话,我该怎么做?
试试这个,
final EditText myEditText = (EditText) findViewById(R.id.editText1);
final int maxTextLength = 1;//max length of your text
InputFilter[] filterArray = new InputFilter[1];
filterArray[0] = new InputFilter.LengthFilter(maxTextLength);
myEditText.setFilters(filterArray);
myEditText.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence txtWatcherStr, int start, int before, int count){
if(count==maxTextLength){
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
}
}
});
试试这个:
tvSecondary.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
if(tvSecondary.getText().toString().length()>0)
{
add your hide-keyboard code
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after)
{
}
@Override
public void afterTextChanged(Editable s)
{
}
});
如果工作请注明右
请标明它的权利 – Prashant
您可以使用hideSoftInputFromWindow
到隐藏软键盘,它是里面InputMethodManager
。但请记住,您必须通过您的窗口的令牌,您可以通过从编辑中调用getWindowToken
()获得该令牌。
所以,你最终的代码看起来应该是这样的:
EditText myEdit= (EditText) findViewById(R.id.editText);
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEdit.getWindowToken(), 0);
使用
'TextChangeListener()'对于.. –