안녕하세여 안드로이드 프레그먼트에서 onclick 시 나오는 에러때매 문의드립니다
뷰모델
fun moveStep(newLoginStep: SignUpFragStep) {
val oldLoginStep = _signUpStep.value
_signUpStep.value = newLoginStep
//navigator?.dismissProgressDialog()
when (newLoginStep) {
SignUpFragStep.FIRST -> navigator?.setupViewFragment(SignUpFirstFragment.newInstance())
SignUpFragStep.SECOND -> navigator?.setupViewFragment(SignUpSecondFragment.newInstance())
SignUpFragStep.THIRD -> navigator?.setupViewFragment(SignUpThirdFragment.newInstance())
SignUpFragStep.FOURTH -> navigator?.setupViewFragment(SignUpFourthFragment.newInstance())
}
Timber.d("moveStep: $oldLoginStep -> $newLoginStep")
}
프래그먼트
enum class SignUpFragStep {
FIRST,
SECOND,
THIRD,
FOURTH;
}
버튼
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true">
<Button
android:id="@+id/next_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/btn_yellow_round"
android:onClick="@{(v) -> signUpViewModel.moveStep(SignUpFragStep.SECOND)"
android:text="@string/confirm"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
로그
java.lang.IllegalStateException: Could not find method @{(v) -> signUpViewModel.moveStep(SignUpFragStep.SECOND)(View) in a parent or ancestor Context for android:onClick attribute defined on view class androidx.appcompat.widget.AppCompatButton with id 'next_btn'
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:447)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:405)
at android.view.View.performClick(View.java:7448)
at android.view.View.performClickInternal(View.java:7425)
at android.view.View.access$3600(View.java:810)
at android.view.View$PerformClick.run(View.java:28305)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
입니다 .
여기서 계속 죽는데 어디서 잘못된지 모르겠어서요
혹시 조언 부탁드려도 될까요?
버튼 클릭 에러같은데 구글링해보고 이것저것 해봤는데 잘 되지 않아서요