为什么不能使用getSystemService和getCurrentFocus?

时间:2018-09-30 20:03:47

标签: java android inputmethodmanager

我想在单击按钮时隐藏键盘:

errechnen_button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        View view = this.getCurrentFocus();
        if (view != null) {
            InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
        }
    }
});

现在我遇到了问题,getCurrentFocusgetSystemService被涂成红色,并显示:

Cannot resolve method getCurrentFocus() / getSystemService()

我在做什么错?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

getSystemService之前应有context

InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); // or context

getActivity()或类似代码来获取上下文。

查看代码: Close/hide the Android Soft Keyboard