EditText with soft keyboard and “Back” button

喜欢而已 提交于 2019-11-26 14:22:53

问题


When I'm using "EditText" I have the virtual keyboard.

Pressing first time "Back" button hides the keyboard. Second press invokes "onBackPressed" callback in my activity. OK, but...

I have no idea how to hook the very first press. I need to process input data as soon as the virtual keyboard dismissed.

Any ideas are welcome.

Thanks.


回答1:


You can override when the keyboard disappears using this method:

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

Taken from my other answer @ : Android: Error popup on EditText doesn't move down when keyboard goes away




回答2:


Custom Back Button:-

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

            }
        });


来源:https://stackoverflow.com/questions/6570974/edittext-with-soft-keyboard-and-back-button

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!