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