這是我的問題!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()'對於.. –