Android 台灣中文網

標題: 請問要將小鍵盤隱藏該如何做? [打印本頁]

作者: 156531    時間: 2012-12-9 22:47
標題: 請問要將小鍵盤隱藏該如何做?
最近在練習做bmi計算機,但是在輸入完數字後,小鍵盤就一直顯示,不知道如何隱藏


有人知道該怎麼做嗎?


謝謝
作者: neilchen_nc    時間: 2012-12-10 00:04
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);

執行上面這兩行程式即可將按鍵關掉
其中 myEditText 就改成你的輸入框 (EditText)
作者: 156531    時間: 2012-12-10 15:21
我加在bmi.java檔裡面 有叉叉耶,

是將那2行程式放在輸入後面嗎?

需不需要用import在一開始宣告呢?
作者: neilchen_nc    時間: 2012-12-11 01:06
156531 發表於 2012-12-10 15:21
我加在bmi.java檔裡面 有叉叉耶,

是將那2行程式放在輸入後面嗎?

一般來說游標移到叉叉會提示要 import什麼東西吧@@
如果沒有的話,那就 import 下面這行吧

import android.view.inputmethod.InputMethodManager;

另外,關閉鍵盤要看你程式設計是要加在哪裡了
就我的認知,你的程式應該是按了按鈕後會計算 BMI
計算後顯示結果,然後就把鍵盤關掉
如果是這樣的話就加在按鈕內吧
也就是加在顯示 BMI 結果之後
作者: 156531    時間: 2012-12-11 13:31
在imm.hideSoftInputFromWindow(EditText.getWindowToken(), 0);這行好像有點問題


出現 無法從view類型static參照非static方法getWindowToken()  點叉叉也沒有提示=_=
作者: neilchen_nc    時間: 2012-12-11 17:22
ㄜ.....這下誤會大了
我之前說的「其中 myEditText 就改成你的輸入框 (EditText)」指的是你自己的
並不是真的直接用 "EditText"

好吧我舉例....

你應該在之前一定有寫類似這段程式:

EditText aaa = (EditText)findViewById(R.id.xxx);

上面這行程式就是在你畫面尋找 id 為 xxx 的物件,然後用變數 aaa 參照 (Reference) 它
這時你在下面這行改成你所參照到的 EditText 變數,如下:

imm.hideSoftInputFromWindow(aaa.getWindowToken(), 0);
作者: 156531    時間: 2012-12-11 22:53
真的可以了!!謝謝neilchen_nc大用心教導!!

我會繼續努力的,話說我現在該朝哪方面努力呢,以利增進自己的Java功力
作者: little51322    時間: 2012-12-12 14:08
謝謝大大教導




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1