2015-03-18 3 views
0

Я использую нож для масла и пытается изменить на EditText ввода для отправитьAndroid на изменения EditText ввести ключ для отправить нож для масла

<EditText 
android:id="@+id/id_message" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="@drawable/gray_line_background" 
android:ems="10" 
android:gravity="top" 
android:inputType="textMultiLine" 
android:minLines="8" /> 

и в моем фрагменте

@InjectView(R.id.id_message) 
@NotEmpty(messageResId = R.string.err_message_empty) 
EditText message; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.fragment_myfragment, container, false); 
     ButterKnife.inject(this, v); 

     validator = new Validator(this); 
     validator.setValidationListener(this); 

     message.setImeActionLabel("Submit", KeyEvent.KEYCODE_ENTER); 

     message.setOnEditorActionListener(new EditText.OnEditorActionListener() { 
      @Override 
      public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
       if (actionId == EditorInfo.IME_ACTION_DONE) { 
        onNextClick(message); 
        return true; 
       } 
       return false; 
      } 
     }); 


    return v; 
} 

не работает ни один из то, что кнопка не меняет текст, а слушатель не выполняет действие

Спасибо

+0

Вы может попытаться переместить ваш код в метод onViewCreated фрагмента. Я думаю, что взгляды, возможно, не были должным образом завышены в то время, когда вы его вводите. – mmark

+0

@urudroid спасибо, я пробовал и не был этим. Теперь я отправлю ответ. – agusgambina

ответ

1

Проблема была не нож для масла, проблема была в XML

android:inputType="textMultiLine" 

С этой линии не изменилась ввода, поэтому мне удалось программно и работал

@InjectView(R.id.id_message) 
@NotEmpty(messageResId = R.string.err_message_empty) 
EditText message; 

    @Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.fragment_preclass3, container, false); 
    ButterKnife.inject(this, v); 

    message.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE); 
    message.setImeActionLabel("Enviar", EditorInfo.IME_ACTION_DONE); 
    message.setImeOptions(EditorInfo.IME_ACTION_DONE); 
    message.setLines(8); 

    message.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
      boolean handled = false; 
      if (actionId == EditorInfo.IME_ACTION_DONE) { 
       onNextClick(message); 
       handled = true; 
      } 
      return handled; 
     } 
    }); 


    return v; 
} 

Спасибо

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