Я использую указанную ниже библиотеку в своем приложении Android для предоставления пользовательского интерфейса для OTP:
https://github.com/mukeshsolanki/android-otpview-pinview
Успешно, добавлена зависимость, как показано ниже:
implementation 'com.github.mukeshsolanki:android-otpview-pinview:2.1.0'
Также, добавлено ниже строки:
maven { url "https://jitpack.io" }
Использование его в макете, как показано ниже:
<com.mukesh.OtpView
android:id="@+id/otp_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:inputType="number"
android:itemBackground="@drawable/drawable_otp_entry"
android:textColor="@android:color/white"
app:itemCount="4"
app:lineColor="@color/colorPrimary"
app:viewType="none" />
Теперь, на стороне kotlin в моей деятельности я делаю так:
class MainActivity : AppCompatActivity() {
var otpView: OtpView? =null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
otpView = findViewById(R.id.otp_view)
otpView.setListener(object:OnOtpCompletionListener() {
override fun onOtpCompleted(otp:String) {
// do Stuff
Log.d("onOtpCompleted=>", otp)
}
})
}
}
Ошибка в строке: otpView.setListener(object:OnOtpCompletionListener() {
, говоря Неразрешенная ссылка: setListener и Класс не имеет конструктора
, использующегоКотлин и библиотека могут в Java.
В чем может быть проблема?