无法在 Android Studio 项目中隐藏软键盘,为什么?
Can't hide soft keyboard in Android Studio project, why?
我试图在 Android Studio 项目中隐藏软键盘。 hideKeyboard() 方法中的 View 一直显示为 null...我不明白为什么...请指教。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rewashlog_options);
luxuryCountTextView = (TextView) findViewById(R.id.luxuryCountTextView);
fullCountTextView = (TextView) findViewById(R.id.fullCountTextView);
quickCountTextView = (TextView) findViewById(R.id.quickCountTextView);
totalCountTextView = (TextView) findViewById(R.id.totalCountTextView);
emailRecipient = (EditText) findViewById(R.id.emailRecipient);
instantiateMonthSpinner();
instantiateYearSpinner();
getEntireRewashList();
updateListView();
hideKeyboard();
}
private void hideKeyboard() {
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
更新您的 InputMethodManager :
InputMethodManager inputManager = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
您可以在 mainfest 中使用 android:windowSoftInputMode="stateHidden"
在 activity 启动时隐藏键盘,就像这样
`<activity android:name=".YourActivity"
android:windowSoftInputMode="stateHidden" />`
尝试:
imm.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
在我的情况下它有效。
我试图在 Android Studio 项目中隐藏软键盘。 hideKeyboard() 方法中的 View 一直显示为 null...我不明白为什么...请指教。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_rewashlog_options);
luxuryCountTextView = (TextView) findViewById(R.id.luxuryCountTextView);
fullCountTextView = (TextView) findViewById(R.id.fullCountTextView);
quickCountTextView = (TextView) findViewById(R.id.quickCountTextView);
totalCountTextView = (TextView) findViewById(R.id.totalCountTextView);
emailRecipient = (EditText) findViewById(R.id.emailRecipient);
instantiateMonthSpinner();
instantiateYearSpinner();
getEntireRewashList();
updateListView();
hideKeyboard();
}
private void hideKeyboard() {
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}
更新您的 InputMethodManager :
InputMethodManager inputManager = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
您可以在 mainfest 中使用 android:windowSoftInputMode="stateHidden"
在 activity 启动时隐藏键盘,就像这样
`<activity android:name=".YourActivity"
android:windowSoftInputMode="stateHidden" />`
尝试:
imm.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
在我的情况下它有效。