editText'输入'else if命令

时间:2015-11-16 20:33:54

标签: android if-statement text edit

我正在尝试为editText创建命令,因此当您键入某个关键字时,某些代码将会运行。我现在正在使用此代码,但它似乎不起作用。

    @Override
    public void editText (String editText)
    {
        if(editText == ("closer"))
        {
            ((ViewGroup.MarginLayoutParams) red.getLayoutParams()).topMargin += 1;
//                image.setRotation(image.getRotation() + 1);
            red.requestLayout();
            ((ViewGroup.MarginLayoutParams) blue.getLayoutParams()).topMargin -= 1;
//                image2.setRotation(image2.getRotation() + 1);

        }

当我输入单词并按Enter键时,编辑文本只会创建一个新行。但是我希望能够在输入内容时按Enter键和代码运行。

3 个答案:

答案 0 :(得分:1)

您可以像这样处理回车键:

editText.setOnKeyListener(new 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
            if(editText.getText().equals("closer")){
                ((ViewGroup.MarginLayoutParams)red.getLayoutParams())
                .topMargin += 1;
                red.requestLayout();
                ((ViewGroup.MarginLayoutParams)blue.getLayoutParams())
                .topMargin -= 1;
            }
            return true;
        }
        return false;
    }
});

答案 1 :(得分:0)

TextWatcher附加到EditText以捕获用户输入。 http://developer.android.com/reference/android/text/TextWatcher.html

editText.addTextChangedListener(new TextWatcher() {  
 ...
});

答案 2 :(得分:0)

尝试将EditText的singleline属性设置为true

android:singleLine="true"