0
我使用下面的代碼隱藏鍵盤點擊一個按鈕時:隱藏鍵盤問題
private OnClickListener saveButtonListener = new OnClickListener() {
@Override
public void onClick(View v) {
final View activityRootView = findViewById(R.id.myProfileDetails);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}
}
});
//other code that does something
}
}
也做一些其他的事情,但它都沒有涉及到鍵盤上按下按鈕,按鈕,活動不會改變。
我的活動中還有兩個EditText
字段。當我使用應用程序時,我點擊任何一個領域,他們獲得焦點和鍵盤出現。當我按下按鈕時,鍵盤會消失,而其他代碼則完全按照它應該執行的方式執行。在這種情況下,一切都是完美的。
第二次點擊EditText
字段時會出現問題。現在,EditText
獲得了重點,但鍵盤出現和消失幾乎立即沒有我做任何事情。我猜我的代碼會讓鍵盤在第一次點擊按鈕後永久消失。爲什麼會發生這種情況,我該如何解決這個問題?
這樣做解決了一個問題,但創建另一個!它解決了我上面提到的問題。但是,即使不關注我的「EditText」,我按下按鈕,彈出鍵盤。當我再次按下按鈕時,鍵盤被隱藏起來。這一直在發生。我猜這是因爲去切換功能。任何想法如何糾正? – Ankush
哦,是的!你只想隱藏鍵盤?然後嘗試我的編輯! –
它的工作原理。謝謝 – Ankush