2016-04-01 3 views
0

Привет Я работаю с текстовым редактором в своем приложении для Android. Я хочу, чтобы курсор переместился в следующую строку в edittext, когда я касался клавиши ввода в Android-клавиатуре и должен был выполнить метод, поэтому я использовал setOnKeyListener(), потому что, когда я нажал клавишу, он переходит к этому методу и выполняет myMethod(). Моя основная проблема заключается в том, когда я использовал эту (edittext.setInputType (InputType.TYPE_CLASS_TEXT);) строку кода, которая входит в метод setOnKeyListener() и хорошо выполняет myMethod, но позиция курсора по-прежнему находится в одной строке, если я удален что строка позиция курсора обновляется (перейти к следующей строке), но setOnKeyListener() не выполняется. Пожалуйста, предложите мне, как работать над этим, Мой кодКлавиатура Android Введите ключевое событие не работает

edittext = (EditText) findViewById(R.id.editText); 
     edittext.setInputType(InputType.TYPE_CLASS_TEXT); 
     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)) { 
        Toast.makeText(MainActivity.this, edittext.getText(), Toast.LENGTH_SHORT).show(); 
        myMethod(); 

        return true; 
       } 
       return false; 
      } 
     }); 

Спасибо заранее.

ответ

0

Try возвращение "ложь":

if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { 
     Toast.makeText(MainActivity.this, edittext.getText(), Toast.LENGTH_SHORT).show(); 
     myMethod(); 

     return false; // here 
} 
+0

Не работаю, если я использовать недостоверную – Sairam

+0

Вместо 'setOnKeyListener', попытаться реализовать' setOnEditorActionListener'. И удалите эту строку 'edittext.setInputType (InputType.TYPE_CLASS_TEXT);' Надеюсь, это поможет. –

+0

Все еще не работает, если я удалил эту строку кода, она не может перейти в setOnEditorActionListner, но курсор обновляется. Вот код edittext.setOnEditorActionListener (новый TextView.OnEditorActionListener() { @Override общественного логический onEditorAction (TextView v, внутр ActionId, KeyEvent событие) { если ((event.getAction() == KeyEvent.ACTION_DOWN) && (ActionId == KeyEvent.KEYCODE_ENTER)) { MyMethod(); возвращение ложным; }. – Sairam

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