使用editView的项目总结
2016-07-29 16:38
288 查看
<EditText
android:id="@+id/my_edittext"
android:layout_height="25dp"
android:imeOptions="actionSearch"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/iv_search"
android:hint=""
android:textSize="@dimen/t_m"
android:background="@null"
android:inputType="number"/>
在对应的Activity如下写:
private void initView{
mEditText = (EditText)findViewById(R.id.my_edittext);
}
mEditText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
Log.e(TAG,"点击了搜索框");
// 先隐藏键盘
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(SelectorNumberActivity.this.getCurrentFocus()
.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
//进行搜索操作的方法,在该方法中可以加入mEditSearchUser的非空判断
}
return false;
}
});
//进入界面直接获取焦点,显示输入
mEditText.setFocusable(true);
mEditText.requestFocus();//获取焦点 光标出现
mEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
//pop.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
附加:android:imeOptions的值有actionGO, actionSend, actionSearch,actionDone..
对此设置的监听代码
mEditText.setOnEditorActionListener(new OnEditorActionLister(){
public boolean onEditorAction(TextView v,int actionId,KeyEvent event){
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
Toast.makeText(getActivity(), "点击",Toast.LENGTH_SHORT).show();
}
return false;
}
});
测试的时候有一个遗留的问题:三个测试机(三星 s6 edge,oppoR7,vivoX5),当editView输入框不输入内容的时候,三星s6edge貌似不触发onKey这个方法,监听不到事件
android:id="@+id/my_edittext"
android:layout_height="25dp"
android:imeOptions="actionSearch"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/iv_search"
android:hint=""
android:textSize="@dimen/t_m"
android:background="@null"
android:inputType="number"/>
在对应的Activity如下写:
private void initView{
mEditText = (EditText)findViewById(R.id.my_edittext);
}
mEditText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
Log.e(TAG,"点击了搜索框");
// 先隐藏键盘
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(SelectorNumberActivity.this.getCurrentFocus()
.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
//进行搜索操作的方法,在该方法中可以加入mEditSearchUser的非空判断
}
return false;
}
});
//进入界面直接获取焦点,显示输入
mEditText.setFocusable(true);
mEditText.requestFocus();//获取焦点 光标出现
mEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
//pop.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
}
}
});
附加:android:imeOptions的值有actionGO, actionSend, actionSearch,actionDone..
对此设置的监听代码
mEditText.setOnEditorActionListener(new OnEditorActionLister(){
public boolean onEditorAction(TextView v,int actionId,KeyEvent event){
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
Toast.makeText(getActivity(), "点击",Toast.LENGTH_SHORT).show();
}
return false;
}
});
测试的时候有一个遗留的问题:三个测试机(三星 s6 edge,oppoR7,vivoX5),当editView输入框不输入内容的时候,三星s6edge貌似不触发onKey这个方法,监听不到事件
相关文章推荐
- 解题报告:HDU 5763
- 两幅相同大小图像的相似程度的两个评价指标-PSNR和SSIM
- 查询FSMO主机的方式
- python3安装jupyterhub
- 本地YUM源仓库(内网)
- HDU-5433
- Quartz-JobDetail和Trigger-Job
- 如何快速低成本搭建 DA14580/DA1458x 软硬件开发平台open-ble.org
- Fiddler调试工具使用教程
- HDU 1849-Rabbit and Grass(尼姆博弈)
- [oracle] 解决ORA-30036:无法按8扩展段(在还原表空间‘XXXX’中)
- Oracle数据库,忽略大小写Like模糊查询(SQL Server,MySql原理相同)
- 杭电2030解题代码
- Letter Combinations of a Phone Number
- 从while(scanf() != EOF)说到ACM OnlineJuge的评判原理
- [完全背包]Tyvj1199 邮票问题
- 如何快速转载CSDN中的博客
- HDU5773 The All-purpose Zero
- OC 分类
- 操作系统:死锁 //程序耦合性