Toast消息在模拟器中显示时未显示在实际电话上

时间:2019-05-27 07:59:54

标签: android kotlin android-toast

我正在尝试创建一个android应用程序。一部分是确保显示吐司消息。当我在android studio模拟器上运行应用程序时,它可以工作,但是当我在实际的三星手机上运行时,它不显示

这大约有一千行代码,所以我认为复制所有代码没有帮助。因此,我想知道是否有任何常见问题可以使Toast消息显示在模拟器中,而不显示在实际的电话中。

-编辑-

这是我想敬酒的部分之一

private fun addListenerOnImageButtonHelper(intent: Intent, sensorId: Int, sensorType: Int, sensorTypeToString: String) {
    findViewById<ImageButton>(sensorId).setOnClickListener {
        if (sensorManager.getDefaultSensor(sensorType) != null) {
            intent.putExtra("sensor", sensorType)
            startActivity(intent)
        } else {
            Toast.makeText(this,
                "$sensorTypeToString sensor is not available on this device",
                Toast.LENGTH_LONG).show()
        }
    }
}

-编辑-

用于显示通知的电话设置已关闭。问题已解决...谢谢

1 个答案:

答案 0 :(得分:0)

创建ActivityName.this时需要添加toast

因为您要显示toast中的ImageButton,请单击

private fun addListenerOnImageButtonHelper(intent: Intent, sensorId: Int, sensorType: Int, sensorTypeToString: String) {
    findViewById<ImageButton>(sensorId).setOnClickListener {
        if (sensorManager.getDefaultSensor(sensorType) != null) {
            intent.putExtra("sensor", sensorType)
            startActivity(intent)
        } else {
            Toast.makeText(ActivityName.this,
                "$sensorTypeToString sensor is not available on this device",
                Toast.LENGTH_LONG).show()
        }
    }
}

否则,您需要在函数中传递Context作为参数

喜欢

private fun addListenerOnImageButtonHelper(context: Context,intent: Intent, sensorId: Int, sensorType: Int, sensorTypeToString: String) {
    findViewById<ImageButton>(sensorId).setOnClickListener {
        if (sensorManager.getDefaultSensor(sensorType) != null) {
            intent.putExtra("sensor", sensorType)
            startActivity(intent)
        } else {
            Toast.makeText(context,
                "$sensorTypeToString sensor is not available on this device",
                Toast.LENGTH_LONG).show()
        }
    }
}