package com.example.testapp
import android.content.Intent
import android.content.SharedPreferences
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import com.hanks.passcodeview.PasscodeView
class Main2Activity : AppCompatActivity() {
var EXTRA_TEXT ="fintech"
private var PRIVATE_MODE = 0
private val PREF_NAME = "myref"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val sharedPref: SharedPreferences = getSharedPreferences(PREF_NAME, PRIVATE_MODE)
var passcodeView=findViewById<PasscodeView>(R.id.passcodeView)
passcodeView.setPasscodeLength(4).listener = object :
PasscodeView.PasscodeViewListener{
override fun onSuccess(number: String?) {
if (sharedPref.getBoolean(PREF_NAME, false)) {
val homeIntent = Intent(applicationContext, AfterloginActivity::class.java)
homeIntent.putExtra("fintech",number)
startActivity(homeIntent)
finish()
} else {
setContentView(R.layout.activity_main2)
val editor = sharedPref.edit()
editor.putBoolean(PREF_NAME, true)
editor.apply()
}
}
override fun onFail() {
Toast.makeText(this@Main2Activity,"wrong",Toast.LENGTH_SHORT).show()
}
}
}
}
это мой исходный код, и я получаю эту ошибку:
Process: com.example.testapp, PID: 11939
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testapp/com.example.testapp.Main2Activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.hanks.passcodeview.PasscodeView com.hanks.passcodeview.PasscodeView.setPasscodeLength(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.hanks.passcodeview.PasscodeView com.hanks.passcodeview.PasscodeView.setPasscodeLength(int)' on a null object reference
at com.example.testapp.Main2Activity.onCreate(Main2Activity.kt:46)
at android.app.Activity.performCreate(Activity.java:5937)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
04-02 14:39:57.454 11939-11939/? I/Process: Sending signal. PID: 11939 SIG: 9
, если я помещу ниже "setContentView (R.layout.activity_main2)", чтобы создать его работу, но я хочу сделать его одноразовым входом только поэтому я положил его, а затем я получил эту ошибку "java .lang.NullPointerException: попытка вызвать виртуальный метод" com.hanks.passcodeview.PasscodeView com.hanks.passcodeview.PasscodeView.setPasscodeLength (int) 'на пустом месте ссылка на объект "Спасибо