控制edittext获取焦点弹出键盘,以及点击外面让edittex取消焦点回收键盘的方法.
//点击屏幕其他地方.edittext失去焦点
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (view.getId()) {
case R.id.detail_parent:
case R.id.detail_rec_comment:
mDetailRecView.setFocusable(true);
mDetailRecView.setFocusableInTouchMode(true);
mDetailRecView.requestFocus();
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
mDetailEdit.clearFocus();
mDetailEdit.setHint(getString(R.string.write_comment));
break;
}
return false;
}
@Override
public void onItemClick(View view, int position) {if (imm.isAcceptingText()){
mDetailRecView.setFocusable(true);
mDetailRecView.setFocusableInTouchMode(true);
mDetailRecView.requestFocus();
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
mDetailEdit.clearFocus();
mDetailEdit.setHint(getString(R.string.write_comment));
return;
}
ArticleComment comment = mListItems.get(position);
String userNick = comment.getUserNick();
String userId = comment.getUserId();
if (userId.equals(clUser.userId)) {
return;
}
mDetailEdit.setFocusable(true);
mDetailEdit.setFocusableInTouchMode(true);
mDetailEdit.requestFocus();
imm.showSoftInput(mDetailEdit, 0);
mDetailEdit.setHint(getString(R.string.comment_reply) + " " + userNick);
}