1. 程式人生 > >安卓EditText呼叫輸入法的搜尋按鈕

安卓EditText呼叫輸入法的搜尋按鈕

前幾天發現專案裡的輸入框搜尋按鈕沒有與輸入法裡的同步起來,這樣會造成使用的不方便,於是把專案裡所有的輸入框全部同步上了搜尋按鈕,在這裡順便也寫一下
其實這個同步輸入法的搜尋很簡單,主要的設定都在edittext上,首先在xml檔案裡設定edittext的屬性:
 android:imeOptions="actionSearch"

這個屬性是讓按鈕變成搜尋的樣式,你也可以設定其他引數,例如actionDone、actionNext等等,然後再新增
android:singleLine="true"

這裡是為了保證點選不換行而做的操作
xml檔案處理完了,接下來就可以直接在activity裡寫監聽了,
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                if (i == EditorInfo.IME_ACTION_SEARCH || i == EditorInfo.IME_ACTION_UNSPECIFIED) {
                    //此處做邏輯處理
                    return true;
                }
                return false;
            }
        });

如此便可以達到效果了,當然如果你的editText是動態建立的,那麼就無法從xml裡給editText設定引數了,但我們可以動態的給新增
EditText editText=new EditText(this);
editText.setSingleLine();
editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH); 
接下來呼叫監聽事件一樣可以達到效果