0

我正在尝试在我的应用程序中获取 UI 更改(特别是显示或隐藏的软键盘),为此我使用了自定义列表视图,我将

        protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    InputMethodManager im = (InputMethodManager)c
            .getSystemService(Context.INPUT_METHOD_SERVICE);
    if (im.isActive()) {
        Log.d("Redraw Canvas", "Key board is active");
    } else {
        Log.d("Redraw Canvas", "Key board is not active");
    }

}

但这里需要上下文,问题是我如何在这里使用上下文?

4

2 回答 2

1

onDraw()是 View 类中的一个方法,每个 View 都持有对其创建者的 Context 的引用。所以只需使用:

InputMethodManager im = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
于 2013-05-28T05:40:03.910 回答
0

使用getContext()orgetApplicationContext()可能会有所帮助

于 2013-05-28T06:02:40.867 回答