Я работаю с активностью входа в систему activitylogin.kt , где пользователь получает otp activationotpauthentication
активность.
Код: Выделить всё
class ActivityLogin : ActivityBase() {
lateinit var binding: ActivityLoginBinding;
Log.d("login response", "${response.body()}")
if (response.body() != null) {
val body = response.body().toString()
val jsonObject = JSONObject(body)
if (Utils.contains(jsonObject, Keys.data)) {
val responseData = jsonObject.getJSONObject(Keys.data)
Log.d("LoginResp", responseData.toString())
if (Utils.contains(jsonObject, Keys.responseMsg)) {
Utils.showToast(
this@ActivityLogin,
jsonObject.getString(Keys.responseMsg)
)
}
val loginResp: Type =
object :
TypeToken() {}.type
var loginRespModal =
Gson().fromJson(
responseData.toString(),
loginResp
)
if (loginRespModal.getUser()?.getIsMobileVerify() == 1) {
sessionManager.saveUserInfo(loginRespModal)
sessionManager.isUserAuthenticate = true
val intent = Intent(
this@ActivityLogin,
MainActivity::class.java
)
startActivity(intent)
finishAffinity()
} else {
val intent = Intent(
this@ActivityLogin, ActivityOtpAuthentication::class.java
)
intent.putExtra(Keys.userInfo, loginRespModal)
intent.putExtra(Keys.isFrom, Keys.login)
intent.putExtra(Keys.otpData, binding.edInput.text.toString())
startActivity(intent)
}
}
}
< /code>
Получение амортизированной ошибки на коде ниже < /p>
class ActivityOtpAuthentication : ActivityBase() {
lateinit var binding: ActivityOtpAuthenticationBinding;
lateinit var loginRespModalModal: LoginRespModal
var id = ""
var isFrom = ""
var otp: Int = 0
var email = ""
var password = ""
var otpData = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_otp_authentication)
binding.btnSubmit.setOnClickListener {var otpNumber = (binding.etOtpOne.text.toString() + binding.etOtpTwo.text.toString() +
binding.etOtpThree.text.toString() + binding.etOtpFour.text.toString() +
binding.etOtpFive.text.toString() + binding.etOtpSix.text.toString())
doVerifyOTP(otpNumber)
}
init()
}
private fun init() {
id = intent.getStringExtra(Keys.id).toString()
isFrom = intent.getStringExtra(Keys.isFrom).toString()
otp = intent.getIntExtra(Keys.otp, 0)
email = intent.getStringExtra(Keys.email).toString()
password = intent.getStringExtra(Keys.password).toString()
otpData = intent.getStringExtra(Keys.otpData)!!
if (intent.getSerializableExtra(Keys.userInfo) != null) {
loginRespModalModal = intent.getSerializableExtra(Keys.userInfo) as LoginRespModal
otp = loginRespModalModal.getUser()?.getOtp()!!
id = loginRespModalModal.getUser()!!.getId().toString()
}
initListeners()
initEditTextListener()
//setOTP(otp.toString())
startResendOTPTimer()
}
Код: Выделить всё
java.lang.RuntimeException: Unable to start activity ComponentInfo{ca.ape.super/ca.ape.super.activity.ActivityOtpAuthentication}: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at ca.ape.super.activity.ActivityOtpAuthentication.init(ActivityOtpAuthentication.kt:70)
at ca.ape.super.activity.ActivityOtpAuthentication.onCreate(ActivityOtpAuthentication.kt:57)
Подробнее здесь: https://stackoverflow.com/questions/795 ... pton-error