Android中EditText 设置 imeOptions 无效问题的解决方法
有时候我们需要在EditText 输出完之后需要在键盘出现右下角变成“Go”或“前往搜索时;通常我们需要设置Android:imeOptions属性。Android:imeOptions的值有actionGo、actionSend、actionSearch、actionDone等
但是今天我发现设置了无效 那是因为我设置了android:maxLines="1"
解决方法就是去掉android:maxLines="1" 设置android:singleLine="true"有必要还需要inputType设置为text
网上有一种监听点击回车搜索的写法这种写法会执行两次 解决方法是
editText.setOnEditorActionListener(newTextView.OnEditorActionListener(){
publicbooleanonEditorAction(TextViewv,intactionId,KeyEventevent){
if(actionId==EditorInfo.IME_ACTION_SEND||(event!=null&&event.getKeyCode()==KeyEvent.KEYCODE_ENTER))
{
//dosomething;
returntrue;
}
returnfalse;
}
});
解决方法是1 (ps这种方法我感觉写法有点多余)
publicbooleanonEditorAction(TextViewv,intactionId,KeyEventevent){
//以下方法防止两次发送请求再判断动作
if(actionId==EditorInfo.IME_ACTION_SEND||
(event!=null&&event.getKeyCode()==KeyEvent.KEYCODE_ENTER)){
switch(event.getAction()){
caseKeyEvent.ACTION_UP:
//发送请求
StringkeyWord=et_search.getText().toString().trim();
if(null==keyWord)
keyWord="";
dismisspopup();
LogUtils.d("向服务器发送搜索请求:"+keyWord);
//发起查询
searchByKeyWord(keyWord);
hideSoftInput();
returntrue;
default:
returntrue;
}
}
returnfalse;
}
还有一种写法 直接监听actionId等于搜需要的时间即可
EditTexteditText=(EditText)contentView.findViewById(R.id.editText);
editText.setOnEditorActionListener(newOnEditorActionListener(){
@Override
publicbooleanonEditorAction(TextViewv,intactionId,
KeyEventevent){
if(actionId==EditorInfo.IME_ACTION_SEARCH){
Toast.makeText(getActivity(),"1111111",Toast.LENGTH_SHORT).show();
}
returnfalse;
}
});
以上所述是小编给大家介绍的Android中EditText设置imeOptions无效问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
热门推荐
10 长辈生日祝福语简短大全
11 年会公司新年祝福语简短
12 周末祝福语简短有内涵
13 祝福语男性朋友简短大方
14 学生励志祝福语大全简短
15 要庆祝生日祝福语简短
16 女生新年漂亮祝福语简短
17 女神节祝福语简短创意
18 9字虎年简短祝福语