1

我在活动中有 2 个编辑文本和一个搜索栏。即使编辑文本具有焦点,我也想防止在触摸搜索栏时弹出软键盘。我也试图强制搜索栏焦点,但它也没有工作。

我曾尝试在三种 SeekBar 方法(和)上隐藏软键盘,并且也一一隐藏onProgressChanged,但这不起作用。onStopTrackingTouchonStartTrackingTouch

是否有可能以及如何实现?

谢谢


private void hideSoftKeyboard(){
    // HIDE SOFTKEYBOARD
    InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
    imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}

/**
 * SEEKBAR Start tracking
 */
public void onStartTrackingTouch(SeekBar seekBar) {

    // HIDE SOFTKEYBOARD
    hideSoftKeyboard();

}
4

1 回答 1

1

抱歉,经过多次搜索,我找到了解决方案。这是它:

private void hideSoftKeyboard() {
    // HIDE SOFTKEYBOARD
    //InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
    // imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);

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

}
于 2012-09-18T11:58:56.683 回答