Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中EditText 設置 imeOptions 無效問題的解決方法

Android中EditText 設置 imeOptions 無效問題的解決方法

編輯:關於Android編程

有時候我們需要在EditText  輸出完之後 需要在鍵盤出現 右下角變成“Go”或“前往 搜索時;通常我們需要設置Android:imeOptions屬性。Android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等

但是今天我發現設置了無效  那是因為我設置了 android:maxLines="1"

解決方法 就是去掉 android:maxLines="1"  設置 android:singleLine="true" 有必要還需要 inputType設置為text

網上有一種監聽點擊回車 搜索的寫法 這種寫法 會執行兩次  解決方法是

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
public boolean onEditorAction(TextView v, int actionId,          KeyEvent event) {             
if (actionId==EditorInfo.IME_ACTION_SEND ||(event!=null&&event.getKeyCode()== KeyEvent.KEYCODE_ENTER)) 
{        
//do something;       
return true;       
}        
return false;      
}    
});

解決方法是 1  (ps 這種方法我感覺寫法有點多余)

public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
    //以下方法防止兩次發送請求 再判斷動作 
    if (actionId == EditorInfo.IME_ACTION_SEND || 
        (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { 
      switch (event.getAction()) { 
        case KeyEvent.ACTION_UP: 
          //發送請求 
          String keyWord = et_search.getText().toString().trim(); 
          if (null == keyWord) 
            keyWord = ""; 
          dismisspopup(); 
          LogUtils.d("向服務器發送搜索請求:" + keyWord); 
          //發起查詢 
          searchByKeyWord(keyWord); 
          hideSoftInput(); 
          return true; 
        default: 
          return true; 
      } 
    } 
    return false; 
  } 

還有一種寫法   直接監聽actionId等於搜需要的時間即可

EditText editText = (EditText) contentView.findViewById(R.id.editText); 
    editText.setOnEditorActionListener(new OnEditorActionListener() { 
      @Override 
      public boolean onEditorAction(TextView v, int actionId, 
          KeyEvent event) { 
        if (actionId == EditorInfo.IME_ACTION_SEARCH) { 
          Toast.makeText(getActivity(), "1111111",Toast.LENGTH_SHORT).show(); 
        } 
        return false; 
      } 
    }); 

以上所述是小編給大家介紹的Android中EditText 設置 imeOptions 無效問題的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved