【问题标题】:EditText with soft keyboard and "Back" button带有软键盘和“返回”按钮的 EditText
【发布时间】:2011-09-28 02:19:35
【问题描述】:

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

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

我不知道如何钩住第一次按下。我需要在虚拟键盘关闭后立即处理输入数据。

欢迎提出任何想法。

谢谢。

【问题讨论】:

标签: android keyboard android-edittext back


【解决方案1】:

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

  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

【讨论】:

  • @Blundell 为什么你使用dispatchKeyEvent 而不是dispatchKeyEventPreIme
  • 对不起,我不记得了 :-) 看起来都不错
  • 但是怎么用,请多解释
【解决方案2】:

自定义后退按钮:-

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);

            }
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-20
    • 2011-07-31
    • 2017-01-13
    • 1970-01-01
    • 2011-05-28
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多