EditText的imeOptions属性的使用

来源:互联网 发布:显示网络存在安全隐患 编辑:程序博客网 时间:2024/05/16 14:26

android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等。

它在Java中为EditorInfo.IME_ACTION_XXX

editText.setOnEditorActionListener,如:

  1. EditText editText = (EditText) contentView.findViewById(R.id.editText);  
  2.         editText.setOnEditorActionListener(new OnEditorActionListener() {  
  3.             @Override  
  4.             public boolean onEditorAction(TextView v, int actionId,  
  5.                     KeyEvent event) {  
  6.                 if (actionId == EditorInfo.IME_ACTION_SEARCH) {  
  7.                     Toast.makeText(getActivity(), "",Toast.LENGTH_SHORT).show();  
  8.                 }  
  9.   
  10.                 return false;  
  11.             }  
  12.         }); 

  13. 设置完后,却发现点击输入框,输入法键盘完全没变化,还是回车键

    这并不是上面的属性和方法无效,而是我们还需要设置别的属性来使它们生效

    经过试验 设置下面两个属性中的一个即可使这个属性生效(应该还有其他的属性也可以,没去试验)

    1 将singleLine设置为true

    2 将inputType设置为text ,如:

  1. <EditText  
  2.       android:id="@+id/editText"  
  3.       android:layout_width="200dp"  
  4.       android:layout_height="wrap_content"  
  5.       android:imeOptions="actionSearch"  
  6.       android:singleLine="true"  
  7.       android:inputType="text"  
  8.    /> 

java代码设置,如:

  1. editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH);  
  2. editText.setInputType(EditorInfo.TYPE_CLASS_TEXT);  
  3. editText.setSingleLine(true); 



0 0