带有软键盘和“后退”按钮的EditText

时间:2011-07-04 11:41:47

标签: android keyboard android-edittext back

当我使用“EditText”时,我有虚拟键盘。

第一次按“后退”按钮隐藏键盘。第二次按下在我的活动中调用“onBackPressed”回调。好的,但是......

我不知道如何勾选第一次按下。我需要在虚拟键盘解除后立即处理输入数据。

欢迎任何想法。

感谢。

2 个答案:

答案 0 :(得分:19)

您可以使用此方法在键盘消失时覆盖:

  public boolean onKeyPreIme(int keyCode, KeyEvent event) {
   if (keyCode == KeyEvent.KEYCODE_BACK && 
       event.getAction() == KeyEvent.ACTION_UP) {
           // Do your thing here
           return false;
   }
   return super.dispatchKeyEvent(event);
  }

取自我的其他答案@:Android: Error popup on EditText doesn't move down when keyboard goes away

答案 1 :(得分:0)

自定义后退按钮: -

final RelativeLayout rrBack = (RelativeLayout) mCustomView.findViewById(R.id.rr_back);
        rrBack.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                MyApplication.getInstance().getRequestQueue().cancelAll(FEED_DETAIL_TAG_REQUEST);
                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(rrBack.getWindowToken(), 0);

            }
        });