2014-11-25 5 views
1

В принципе, я пытаюсь заблокировать пользователя от перехода к следующему полю, если в текстовом представлении есть ошибка. Я установил:Есть ли способ предотвратить onEditorAction перейти к следующему полю?

android:imeOptions="actionNext" 

Вот где я хочу, чтобы предотвратить его от идти дальше:

public boolean onEditorAction(TextView v, int actionId, KeyEvent event) 
    { 
     if (actionId == EditorInfo.IME_ACTION_DONE) 
     { 
      if(isError) 
      { 
       return true; 
      } 
     } 
    } 

ответ

0

Если поставить опцию IME как «actionNext», то я ожидал бы ActionId к onEditorAction быть IME_ACTION_NEXT, а не IME_ACTION_DONE. Вы попробовали это? Вы также можете установить контрольную точку или оператор журнала, чтобы проверить, какое действие вызывает вызывающий слушатель.

1
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) 
{ 
    if (actionId == EditorInfo.IME_ACTION_NEXT) 
    { 
     if(isError) 
     { 
      return true; 
     } 
    } 

    return false; 
} 
+0

Как правило, ответы гораздо полезнее, если они содержат объяснение того, что должен делать код, и почему это решает проблему, не представляя других –

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