要在按下返回键时关闭软键盘并关闭活动,可以使用以下代码示例:
@Override
public void onBackPressed() {
// 关闭软键盘
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
// 关闭活动
finish();
}
在上面的示例中,我们重写了onBackPressed()方法,这是当按下返回键时调用的方法。在方法中,我们首先获取InputMethodManager实例,然后调用hideSoftInputFromWindow()方法来关闭软键盘。我们使用getCurrentFocus().getWindowToken()获取当前获取焦点的视图的窗口令牌。
接下来,我们调用finish()方法来关闭活动。
请注意,为了使上述代码正常工作,您需要确保在活动中有一个视图可以获取焦点,以便获取窗口令牌。否则,getCurrentFocus()可能返回null,并导致空指针异常。