您的位置:首页 > 其它

focus and keyboard hide

2011-03-22 14:20 344 查看
private OnTouchListener mHideKeyBroadTouchListener =new OnTouchListener(){

@Override

public boolean onTouch(View v, MotionEvent event)

{

hideKeyBroadDo(R.id.hidekeyboardedit);

return true;

}};

/** @Fields mMoveToBtnActionListener : MoveToBtnActionListener */

private OnEditorActionListener mMoveToBtnActionListener = new OnEditorActionListener()

{

@Override

public boolean onEditorAction(TextView v, int actionId, KeyEvent event)

{

if(R.id.cursormovetobuttonedit==v.getId())

{

if(event.getKeyCode()==KeyEvent.KEYCODE_ENTER)

{

hideKeyBroadDo(v.getId());

mBtn.requestFocusFromTouch();

return true;

}

}

return false;

}};

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mBtn = (Button)findViewById(R.id.testbtn);

mEdittxtCursorMove = (EditText)findViewById(R.id.cursormovetobuttonedit);

mEdittxtCursorMove.setOnEditorActionListener(mMoveToBtnActionListener );

mTestlayout = (LinearLayout)findViewById(R.id.testlayout);

mEdittxtHideKeyBoard = (EditText)findViewById(R.id.hidekeyboardedit);

mTestlayout.setOnTouchListener(mHideKeyBroadTouchListener);

}

private void hideKeyBroadDo(int id)

{

switch(id)

{

case R.id.cursormovetobuttonedit:

InputMethodManager moveimm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);

moveimm.hideSoftInputFromWindow(

mEdittxtCursorMove.getWindowToken(), 0);

break;

case R.id.hidekeyboardedit:

InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);

imm.hideSoftInputFromWindow(mEdittxtHideKeyBoard.getWindowToken(),

0);

break;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: