public void setFocus(View view) {
edit_layout.setFocusable(true);
edit_layout.setFocusableInTouchMode(true);
edit_layout.requestFocus();
edit_layout.requestFocusFromTouch();
}
在点击按钮的时候,调用这个方法。
edit_layout这个是布局中总布局的id.最近做一个功能,就是统计用户在输入框停留的时间。由于点击按钮的时候,输入框是没有离开的。想了好多办法。最后这个解决了。哈哈
<pre name="code" class="java">[html] view plain copy 在CODE上查看代码片派生到我的代码片
android:focusableInTouchMode="true"
首先看上面这句代码,只需要加在包裹EditText组件的父布局里面就可以实现取消默认得到焦点光标的操作。
[html] view plain copy 在CODE上查看代码片派生到我的代码片
// 触摸屏幕取消EditText的焦点光标
rel.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
// rel.setFocusable(true);
// 如果xml文件里面没设置,就需要在这里设置
// rel.setFocusableInTouchMode(true);
rel.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(et1.getWindowToken(), 0);
return false;
}
});