Butterknife(8.4.0)を使用して、いくつかのEditTextを持つフラグメントのビューをインスタンス化しています。Butterknifeの複数のメソッドを持つListenerに複数のビューをバインドする
これらのEditTextを使用して、文字列を特定のModel属性に設定しています。私は各Edittextのバインドメソッドのロードを作成したくないので@onTextChanged
私はすべての編集テキストを渡します。私はAfterTextChanged()
にしか関心がないので、それを渡しました。次に、editText IDを使用して、どのモデル属性を設定するかを指定します。
@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
ちょっとそう、このように使うことはできないのですか?私は同じ問題に直面していますが、私は 'Editable'を渡すことしかできないようです。どんな更新? – Mallika