簡體   English   中英

意圖在 kotlin 上 android 工作室不工作

[英]intent on kotlin on android studio not working

我正在為 kotlin 應用程序做一個演示,這些活動單獨工作,但是當我試圖將它們與意圖鏈接起來時,ntn 正在響應應該將你發送到下一個活動的按鈕,它只是沒有做任何事情,在 logcat 上僅顯示有關屏幕觸摸位置的信息沒有錯誤所以請問我在嘗試了一整天后仍然看不到問題出在哪里

    package com.example.myapplication

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.provider.AlarmClock.EXTRA_MESSAGE
import android.view.View
import android.widget.Button
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {

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

val tost:Button =findViewById(R.id.toast)
val nxt:Button =findViewById(R.id.next)
        tost.setOnClickListener{tst()}
        nxt.setOnClickListener{tnxt()}
        }
    private fun tst(){
        Toast.makeText(this,"hello world",Toast.LENGTH_SHORT).show()

    }

    private fun tnxt(){
          Intent(this, diceRoll::class.java)
        startActivity(intent)
    }

    
}

//和diceroll class

package com.example.myapplication


import android.content.Intent

import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.dice_roll.*

class diceRoll : AppCompatActivity() {

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

   var bttn:Button =findViewById(R.id.button)

        bttn.setOnClickListener {
           rolled()
        }
    }
    private fun rolled(){
        var txt:TextView=findViewById(R.id.no)
        val randomInt=(1..6).random()
        val resultStr=randomInt.toString()
        txt.setText(resultStr)


    }
}

簡短回答:

將您的 function 從

private fun tnxt(){
      Intent(this, diceRoll::class.java)
    startActivity(intent)
}

到:

private fun tnxt(){
    startActivity(Intent(this, diceRoll::class.java))
}

問題:

使用此行Intent(this, diceRoll::class.java)您正在創建一個Intent但從不使用它。

private fun tnxt(){
    Intent(this, diceRoll::class.java)
    startActivity(intent)
}

或者,

private fun tnxt(){
    val diceRollIntent = Intent(this, diceRoll::class.java) //assigns the intent to a variable which we can use
    startActivity(diceRollIntent)
}

暫無
暫無

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

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