我正在尝试在我的应用程序中获取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");
}
}
但它需要上下文,问题是如何在这里使用上下文?
答案 0 :(得分:1)
onDraw()
是View类中的一个方法,每个View都包含对其创建者的Context的引用。所以只需使用:
InputMethodManager im = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
答案 1 :(得分:0)
使用getContext()
或getApplicationContext()
,可能会有帮助