2015-11-16 3 views
-1

Я пытаюсь создать команды для editText, поэтому при вводе ключевого слова будет запущен некоторый код. Я использую этот код сейчас, но он не работает.editText 'Enter' else if commands

@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, текст редактирования просто создает новую строку. Но я хочу, чтобы у меня была возможность нажимать кнопку ввода, а код запускается, когда вы вводите код.

+0

насчет 'если (EditText == (» ближе "))'? –

+0

Возможный дубликат [Как сравнить строки в Java?] (Http://stackoverflow.com/questions/513832/how-do-compare-strings-in-java) – 323go

ответ

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

Попробуйте установить SingleLine атрибут вашего EditText к истинному

android:singleLine="true" 

 Смежные вопросы

  • Нет связанных вопросов^_^