2017-04-24 91 views
-1

我在我的应用程序中使用一个编辑文本,一旦我完成输入键盘想要自动隐藏而不按回按钮。谁能帮助我....如何隐藏小键盘而不点击返回按钮

+0

为什么你不想在输入完成后隐藏键盘? –

+0

嗨,你有没有试过强迫它以任何方式出现?如http://stackoverflow.com/a/10420979/7813290 – Jamin

回答

1

在试试这个代码的Edittext你会得到选项关闭键盘它的自我....

机器人:imeOptions = “actionDone”

1

你应该使用TextWatcher知道当u完成打字,然后ü可以隐藏下面的键盘:键入五个字符后

EditText editText; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    editText = (EditText)findViewById(R.id.editText); 
    editText.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

      if(count == 5){ 

      InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);} 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 

     } 
    }); 

} 

所以在这个代码键盘会自动隐藏。

试试吧。

1

调用此功能,只要输入完整获取

InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); 
//Hide: 
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); 

private void hideKeyboard() { 
    // Check if no view has focus: 
    View view = this.getCurrentFocus(); 
    if (view != null) { 
     InputMethodManager inputManager = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE); 
     inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 
    } 
} 
1
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 

editText.requestFocus(); 

imm.showSoftInput(editText, 0); 

试试这个(在EDITTEXT你应该把你自己的EDITTEXT)。