我想隱藏鍵盤片段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請用代碼詳細說明您的答案... –