今天 修改項目想把首頁搜尋改下,當使用者輸入完關鍵字按下軟體機碼盤迴車後跳轉結果頁
代碼沒問題不知道為什麼老是跳轉二次,Debug調試發現setOnKeyListener執行二次一直未找到解決辦希望有遇到這問題的人指教下
最後查了下中文版的API發現有一個setOnEditorActionListener事件
我把搜尋事件setOnKeyListener改為setOnEditorActionListener事件
然後把XML改為
<EditTextandroid:id="@+id/searbox"style="@style/indexsearchbox"android:layout_toLeftOf="@id/searchbtn"android:hint="@string/pleasekey" android:layout_height="45dip"android:singleLine="true"android:imeOptions="actionGo"/>這個意思是將軟體機碼盤上的斷行符號鍵改為GO
代碼:
//單擊軟體機碼盤迴車事件
//單擊軟體機碼盤迴車事件 txtkeyword.setOnEditorActionListener(new EditText.OnEditorActionListener() { @Overridepublic boolean onEditorAction(TextView v, int actionId, KeyEvent event) {// TODO Auto-generated method stubif(actionId ==EditorInfo.IME_ACTION_GO){ //跳轉activityreturn true;}else{Toast.makeText(context, R.string.key_word, Toast.LENGTH_SHORT).show(); return true;}} return false;}});
在測試與調試沒問題成功。
就這一個跳轉二次問題折騰幾個小時 哎。。。。