簡體   English   中英

kotlin 應用程序在轉到另一個活動時崩潰

[英]kotlin app crashes when going one to another activity

當我啟動我的應用程序時我有 3 個活動我可以 go 1 個活動到第二個但我不能 go 第三個它崩潰

這是我第三次(最后一次活動)的代碼

class thirdActivity3 : AppCompatActivity() {

    private lateinit var textView: TextView
    private lateinit var textView2: TextView


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_third3)


        textView = findViewById(R.id.textView)
        textView2 = findViewById(R.id.textView2)

        val extras = intent.extras

        if(extras != null){
            textView.text = extras.getString("NAME") //getString("NAME","")
            textView2.text = extras.getInt("AGE").toString() //getInt("AGE",0).toString()




        }
    }
}

這是我的第二個活動


class secondActivity2 : AppCompatActivity() {

    private lateinit var inputTextAge:EditText
    private lateinit var finishButton: Button

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second2)
        inputTextAge=findViewById(R.id.inputTextAge)
        finishButton=findViewById(R.id.finishButton)


        val extras = intent.extras
        var name = ""
        if (extras != null){
            name=extras.getString("PERSON_NAME","")



        }


        finishButton.setOnClickListener {

            val age = finishButton.text.toString().toInt()
            val intent = Intent(this,thirdActivity3::class.java)
            intent.putExtra("NAME",name)
            intent.putExtra("AGE",age)



            startActivity(intent)



        }
    }
}



我正在嘗試制作學習向導,但我的代碼有一些問題。 我在科特林有 3 項活動,但是當我 go 第二次活動到第三次時它停止了,但是當我從第一到第二次時它起作用了

2020-11-27 18:50:41.472 19343-19343/com.example.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.myapplication, PID: 19343
    java.lang.NumberFormatException: For input string: "Finish"
        at java.lang.Integer.parseInt(Integer.java:615)
        at java.lang.Integer.parseInt(Integer.java:650)
        at com.example.myapplication.secondActivity2$onCreate$1.onClick(secondActivity2.kt:33)
        at android.view.View.performClick(View.java:7125)
        at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
        at android.view.View.performClickInternal(View.java:7102)
        at android.view.View.access$3500(View.java:801)
        at android.view.View$PerformClick.run(View.java:27336)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)




這是來自 logcat

查看錯誤消息,您的問題似乎是這一行:

val age = finishButton.text.toString().toInt()

錯誤是說您正在嘗試將字符串“Finish”解析為數字。 從這條線來看,你正在這樣做是有道理的。 您有一個名為“完成”的按鈕。 您從按鈕獲取text ,然后對該文本調用toInt() ,然后您會收到此錯誤。

你希望這條線做什么? 為什么您期望查詢按鈕的文本會返回代表年齡的 integer?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM