Android Studio -输入法管理器

bqujaahr  于 2022-11-16  发布在  Android
关注(0)|答案(3)|浏览(152)

Android工作室版本:2.3.3下面的代码不工作,它应该隐藏键盘,但它没有。请帮助。

InputMethodManager imm = (InputMethodManager) 
    getSystemService(Context.INPUT_METHOD_SERVICE);
    public void setImm(InputMethodManager imm) {
    this.imm = imm;
    }
    public InputMethodManager getImm() {
    imm.hideSoftInputFromWindow(urledit.getWindowToken(),0);
    return imm;
    }
r55awzrz

r55awzrz1#

/**
 * Hides the soft keyboard
 */
 public void hideSoftKeyboard() {
   if(getCurrentFocus()!=null) {
   InputMethodManager inputMethodManager = (InputMethodManager) 
 getSystemService(INPUT_METHOD_SERVICE);
   inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
  }
}

 /**
 * Shows the soft keyboard
 */
public void showSoftKeyboard(View view) {
   InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
   view.requestFocus();
   inputMethodManager.showSoftInput(view, 0);
}

尝试隐藏和显示键盘

ryoqjall

ryoqjall2#

希望有用

public static void hideKeyboard(Activity activity) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
View view = activity.getCurrentFocus();
if (view == null) {
    view = new View(activity);
}
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
wribegjk

wribegjk3#

嗨,使用此代码,它的工作100%

View.OnTouchListener disable = new View.OnTouchListener() {
            public boolean onTouch (View v, MotionEvent event) {
            v.onTouchEvent(event);
            InputMethodManager img = 
           (InputMethodManager)v.getContext().getSystemService(INPUT_METHOD_SERVICE);
            if (img != null) {
            img.hideSoftInputFromWindow(v.getWindowToken(), 0);
            }
            System.out.println(ee.getSelectionEnd());
            return true;
           }
           };
           //create a Button to setOnTouchListener(event)
           Button ee=new Button(this);
           ee.setOnTouchListener(disable);

相关问题