如何实现点击屏幕其他地方让edittext失去焦点
展开全部
方法就是:让EditText所在的layout获得焦点。
给layout注册OnTouchListener监听器
直接使用 .requestFocus() 无法获取焦点,焦点依然在EditTtext上
先调用下面这两个方法:
.setFocusable(true);
.setFocusableInTouchMode(true);
再调用 .requestFocus() 就可获取焦点
relative.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
relative.setFocusable(true);
relative.setFocusableInTouchMode(true);
relative.requestFocus();
return false;
}
});
给layout注册OnTouchListener监听器
直接使用 .requestFocus() 无法获取焦点,焦点依然在EditTtext上
先调用下面这两个方法:
.setFocusable(true);
.setFocusableInTouchMode(true);
再调用 .requestFocus() 就可获取焦点
relative.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
relative.setFocusable(true);
relative.setFocusableInTouchMode(true);
relative.requestFocus();
return false;
}
});
2015-03-22 · 知道合伙人数码行家
关注
展开全部
复写下面这个方法:
@Override public boolean onTouchEvent(MotionEvent event) { InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE); //login_auto_account.setCursorVisible(false); imm.hideSoftInputFromWindow(login_auto_account.getWindowToken(), 0); return super.onTouchEvent(event); }其中login_auto_account是EditText或者是AutoCompletTextView的属性
@Override public boolean onTouchEvent(MotionEvent event) { InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE); //login_auto_account.setCursorVisible(false); imm.hideSoftInputFromWindow(login_auto_account.getWindowToken(), 0); return super.onTouchEvent(event); }其中login_auto_account是EditText或者是AutoCompletTextView的属性
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询