我想隐藏键盘片段android.Because一旦显示它仍然可见在所有fragments.I试试这个方法如何隐藏碎片中的软键盘?
public static void hideKeyboard(Context ctx) {
InputMethodManager inputManager = (InputMethodManager) ctx
.getSystemService(Context.INPUT_METHOD_SERVICE);
// check if no view has focus:
View v = ((Activity) ctx).getCurrentFocus();
if (v == null)
return;
inputManager.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
和呼叫按钮这种方法点击
signIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hideKeyboard(ctx);
login();
}
});
但这给出错误“java.lang.NullPointerException:试图调用虚拟方法'java.lang.Object android.content.Context.getSystemService(java.lang.String)'null对象引用”
你为什么试图找到一些视图?将v作为参数传递给你的hideKeyboard方法,v.getContext()会给你正确的上下文,并且这将是具有两行代码的方法 –
你是否已经使用Context对象初始化或分配了'ctx'? –
@ViktorYakunin请用代码详细说明您的答案... –