Android(安卓)maxLine属性导致android:imeOptions失效
16lz
2021-12-04
简介
项目中有一个EditText,需要键盘中的回车事件。原本的写法:
EditText属性设置:
android:imeOptions="actionSearch" android:singleLine="true"
设置为单行,回车统一显示为“搜索”
private TextView.OnEditorActionListener queryEdit = new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { String query = inputView.getText().toString().trim(); if (actionId != EditorInfo.IME_ACTION_SEARCH || TextUtils.isEmpty(query)) return false; KeyboardUtils.hideSoftKeyboard(mContext, inputView); if (searchType == Classical_type) { Intent intent = new Intent(mContext, SuggestResultActivity.class); intent.putExtra(SuggestResultActivity.INTENT_QUERY, query); startActivity(intent); } else { Intent intent = new Intent(mContext, DetailActivity.class); intent.putExtra(DetailActivity.IntentWords, query); intent.putExtra(DetailActivity.IntentAncientModel, false); startActivity(intent); } return true; } };
在OnEditorActionListener的OnEditorAction方法中对actionId判断是否是IME_ACTION_SEARCH。
原本这段逻辑么有问题,后来想着把sdk舍弃的singleLine数据换成maxLine,代码更改如下:
android:imeOptions="actionSearch" android:maxLine="1"
更改的代码就一行,结果。。。android:imeOptions="actionSearch"这个属性没有生效。。
最后的解决方法,把maxLine改回singleLine.
更多相关文章
- Layout属性介绍
- TextView实现电话、网址链接
- 使用多状态按钮ToggleButton
- Android(安卓)开发问题集合
- android布局属性之margin
- Android(安卓)第五天
- xmlns:android作用以及自定义布局属性
- This text field does not specify an inputType or a hint
- Android清单文件属性大全