我正在尝试为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键和代码运行。
答案 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"