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 无效问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索edittext
, imeoptions
imeoptions无效
edittext imeoptions、edittext.settext无效、edittext点击事件无效、edittext padding无效、edittext焦点混乱解决,以便于您获取更多的相关知识。

时间: 2024-10-29 18:18:35

Android中EditText 设置 imeOptions 无效问题的解决方法_Android的相关文章

Android中EditText 设置 imeOptions 无效问题的解决方法

有时候我们需要在EditText  输出完之后 需要在键盘出现 右下角变成"Go"或"前往 搜索时:通常我们需要设置Android:imeOptions属性.Android:imeOptions的值有actionGo. actionSend .actionSearch.actionDone等 但是今天我发现设置了无效  那是因为我设置了 android:maxLines="1" 解决方法 就是去掉 android:maxLines="1"

Android中CSS设置select高度的bug解决方法及jq操作select

用CSS设置select的height和line-height,在有的Android版本中无效,不过可以通过添加"-webkit-appearance: listbox;"属性解决这个BUG,完整实例代码如下: .styled-select {  -webkit-appearance: listbox;  width: 100%;  font-size: 36px;  display: inline-block;  height: 80px;  line-height: 80px;  

Android中Activity启动默认不显示输入法解决方法_Android

checkbox控件时导致Activity启动默认不显示输入法. 网上很多资料说要放一个空的Linearlayout,完全是在误导大众, 正确的方法如下: Android Manifest对Activity做如下设置: 复制代码 代码如下: android:windowSoftInputMode="stateHidden"

Android 4.0 设置全屏修改的解决方法_Android

最近在做一个平板的应用,底部的BACK HOME 还有电池WIFI的那一条STATUS_BAR设置全屏后怎么也去不掉,查找资料后,发现一个比较好的方法,在此分享 第一种方式(程序代码): 在OnCreate里添加一行语句 复制代码 代码如下: getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);  在setContentView之前哦. 过时的一个方法: 复制代码 代码如下: getW

Android中使用TextView实现图文混排的方法_Android

向TextView或EditText中添加图像比直接添加文本复杂一点点,需要用到<img>标签. <img>只有一个src属性,该属性原则上应该指向一个图像地址或可以找到某个图像资源的唯一标识.但要注意的是,系统并不会直接根据src属性所指的值自动获取和显示图像,这一切都需要我们去做.说白了,src属性指的是什么只有开发者自己知道.开发者需要告诉系统src属性到底指的是什么,然后系统才会知道怎么做. 解析src属性值需要ImageGetter对象的getDrawable方法来完成.

android:TextView简单设置文本样式和超链接的方法_Android

本文实例讲述了android:TextView简单设置文本样式和超链接的方法.分享给大家供大家参考,具体如下: 设置TextView中文本的样式(如:颜色.斜体等),可以针对不同位置的文本设置不同的样式(如:将索引范围在1-3的字符设置为黑色,2-6的字符设置为粗体等) myFirstTextView = (TextView)findViewById(R.id.myFirstTextView); myFirstTextView.setText("这是我的第一个TextView,嘿嘿"

Android中捕捉menu按键点击事件的方法_Android

本文实例讲述了Android中捕捉menu按键点击事件的方法.分享给大家供大家参考.具体如下: @Override public boolean onCreateOptionsMenu(Menu menu) { /* * add()方法的四个参数,依次是: 1.组别,如果不分组的话就写Menu.NONE, * 2.Id,这个很重要,Android根据这个Id来确定不同的菜单 3.顺序,那个菜单现在在前面由这个参数的大小决定 * 4.文本,菜单的显示文本 */ menu.add(Menu.NONE

Android中invalidate()和postInvalidate() 的区别及使用方法_Android

Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用.       Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用. invalidate()是用来刷新View的,必须是在UI线程中进行工作.比如在修改某个view的显示时,调

Android动态添加设置布局与控件的方法_Android

本文实例讲述了Android动态添加设置布局与控件的方法.分享给大家供大家参考,具体如下: 有时候我们会在代码端,动态的设置,添加布局和控件.下面我们就看来看一下如何处理,直接上代码,代码里面的注解很清楚了. 布局文件:fragment_hot.xml 说明:这个部局,我用的是scrollView做为基础布局,主要是为了实现一个滚动.这里不多说,这个你可以使用任何布局都可以,这里的id我是提前定义的. 这里面的现在有的布局是我为了看到我在代码端,动态添加的代码,是否可以追加到现有布局的后面而加上