android studio上的kotlin不起作用

piwo6bdm  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(406)

我是在为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)
    }

}

//还有掷骰子课

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)

    }
}
7xzttuei

7xzttuei1#

简短回答:
将您的功能从

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)
}

相关问题