EditText上的setOnKeyListener不起作用

时间:2016-01-12 05:39:44

标签: android android-edittext

我在我的活动中对editText应用了setOnKeyListener,但是当我按下键盘上的任意键时它不会调用此方法。

我想检测键盘上是否按下了空格或输入,但我找不到任何方法来查找这些键码。

我也尝试过TextWatcher,但它没有告诉我们我想要的密码。

如果有人知道我们怎么做,请帮助我。

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:0)

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{  
    UIButton *btn = (UIButton*)[self.view viewWithTag:popupTag];   
    BOOL ISOPENED = FALSE;  
    if(vPopup.hidden == TRUE)  
    {  
        ISOPENED = FALSE;  
    }  
    else  
    {  
        ISOPENED = TRUE;  
    }  
    [vPopup setHidden:YES];  
    if(ISOPENED)  
    {  
        double delayInSeconds = 0.01;  
        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW,delayInSeconds * USEC_PER_SEC);

        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

            vPopup.frame = CGRectMake(
                (btn.frame.origin.x + (btn.frame.origin.x * (scroll.zoomScale-1))) - ((popupW/2)-(scroll.zoomScale)),
                btn.frame.origin.y+(btn.frame.origin.y * (scroll.zoomScale-1)) - popupH,
                popupW, popupH);


            [vPopup setHidden:NO];  
        });  
    }  
}

答案 1 :(得分:-1)

您可以检测到按下的Enter键,如下所示。

editText.setOnKeyListener(new View.OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                // If the event is a key-down event on the "enter" button
                if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                            (keyCode == KeyEvent.KEYCODE_ENTER)) {
                    // Perform action on key press
                    Log.e("Value", "Enter");
                    return true;
                }
                return false;


            }
        });