1
我使用Butterknife(8.4.0)在具有多个EditText的片段中实例化视图。使用Butterknife中的多种方法将多个视图绑定到Listener
我正在使用这些EditTexts将字符串设置为特定的Model属性。我不想为每个编辑文本创建大量的绑定方法等等@onTextChanged
我传入所有编辑文本。我只对AfterTextChanged()
感兴趣,所以我也通过了。然后使用editText标识来指定应该设置哪个模型属性。
@BindView(R.id.edit_text_one) EditText textFieldOne;
@BindView(R.id.edit_text_two) EditText textFieldTwo;
@OnTextChanged(value = {R.id.edit_text_one, R.id.edit_text_two}, callback = OnTextChanged.Callback.AFTER_TEXT_CHANGED)
void setEditTextFields(EditText editText, Editable editable) {
switch (editText.getId()) {
case R.id.edit_text_one:
myModel.setStringOne(editable.toString());
break;
case R.id.edit_text_two:
myModel.setStringTwo(editable.toString());
break;
}
}
但是我得到一个编译错误
Error:(117, 10) error: @OnTextChanged methods can have at most 1 parameter(s). (com.skeeno.android.gamecabinet.Fragment.EditorFragment.setEditTextFields)
我读过here,你只是通过在视图作为第一个参数,但似乎并没有工作,因为AfterTextChanged只期待可编辑。
有没有办法做到这一点?
任何帮助将不胜感激。谢谢。
进一步研究OP中链接的教程后。这种方式是不可能的。 – skon
嘿,我们不能像这样使用它?我面临同样的问题,但我似乎只能通过'可编辑的'。任何更新? – Mallika