的EditText的onkeydownEditText、onkeydown

2023-09-07 10:42:40 作者:僵尸吃了跳跳糖

我宣布一个EditText编程方式(即不是在XML),并要一的onkeydown处理程序适用于它。显示的code不起作用。上下文是,我试图捕获来自键盘,这不应该包括控制符(我已经开始与回车键)的短字符串。也许有更好的办法?

谢谢!

 公开的EditText ttsymbol;

/ **第一次创建活动时调用。 * /
@覆盖
公共布尔的onkeydown(INT键code,KeyEvent的事件){
        开关(钥匙code){
        案例KeyEvent.KEY code_ENTER:
            // IGNOREenter关键!
            返回true;

        }返回false;
  }
 

解决方案

您必须将onKeyListener绑定到你的EDITTEXT。

  myEditText.setOnKeyListener(新OnKeyListener(){
            @覆盖
            公共布尔onKey(视图V,INT关键code,KeyEvent的事件){
                如果(event.getAction()== KeyEvent.ACTION_DOWN和放大器;&放大器;关键code == KeyEvent.KEY code_ENTER){
                    //做的东西在这里
                    返回true;
                }
                返回false;
            }
        });
 
android关于viewpager子页的edittext文本获取问题

I have declared an EditText programmatically (i.e. not in XML), and want to apply an OnKeyDown handler to it. The code shown does not work. The context is, I'm trying to capture a short string from the keyboard, which should not include control characters (I've started with the Enter key). Maybe there is a better way?

Thanks!

        public EditText ttsymbol;

/** Called when the activity is first created. */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) { 
        switch (keyCode) { 
        case KeyEvent.KEYCODE_ENTER: 
            // IGNOREenter key!! 
            return true; 

        }return false; 
  }

解决方案

You must bind the onKeyListener to your editText.

myEditText.setOnKeyListener(new OnKeyListener() {           
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (event.getAction()==KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
                    //do something here
                    return true;
                }
                return false;
            }
        });