Android的:在所有EditTexts关闭软键盘键盘、Android、EditTexts

2023-09-12 23:41:48 作者:侧闻.

我正在一个对话框,在Android的有几个的EditText 秒。 我已经把此行的的onCreate()以禁用软键盘:

Keypad.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

的问题是,它只能在对话框出现,什么都不做。 当我移动到下一个的EditText ,键盘出现,并不会下降。

没有任何人有一个想法如何解决这个问题呢?

解决方案

创建你自己的类,它扩展的EditText和覆盖onCheckIsTextEditor():

 公共类NoImeEditText扩展的EditText {
  公共EditTextEx(上下文的背景下,ATTRS的AttributeSet){
  超(背景下,ATTRS);
  }
  @覆盖
  公共布尔onCheckIsTextEditor(){
  返回false;
  }
  }
 

如何在Android中判断软键盘是否弹出或隐藏

I am working on a dialog at Android with a few EditTexts. I've put this line at the onCreate() in order to disable the soft keyboard:

Keypad.this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

The problem is that it works only when the dialog appear and doing nothing. When I move to the next EditText, the keyboard appears and not going down.

Does anybody have an idea how to solve this issue?

解决方案

create your own class that extends EditText and override the onCheckIsTextEditor():

public class NoImeEditText extends EditText {
  public EditTextEx(Context context, AttributeSet attrs) { 
  super(context, attrs);     
  }      
  @Override      
  public boolean onCheckIsTextEditor() {   
  return false;     
  }        
  }