使用界面在Kotlin中传递数据

时间:2018-10-04 13:27:46

标签: interface kotlin initialization

我需要将数据从活动传递给班级。我使用接口,但是初始化有问题。

我的课:

class Methods  {

fun processingResponse(finalMessage: String) {

    var mcontext: Context? = null
    var message : Message =  Message()
    var access = "Access Granted"
    var out = "Logged"
    var Stateconnect = false
    var safetyCheck = 0

    if (access in finalMessage) {

        val msg = finalMessage.split("=", ":")
        accessLevel = msg[0]
        sessionId = msg[1].toInt()
        safetyCheck = msg[2].toInt()
        var namePlc = msg[3]

        interfaceData.sendData("Connect")
        //Stateconnect = true
    } else if (out in finalMessage) {

        interfaceData.sendData("Disconnect")

        println("log out okey")

    }
}}

我的界面:

interface SendDataInterface {fun sendData(str: String )}

和我的活动:

class LoginIn : AppCompatActivity(), SendDataInterface {

override fun sendData(str: String)
{

    var handler = Handler(Looper.getMainLooper())
    handler.post( Runnable() {

        fun run() {
            buttonChange(str)
        }
    })} fun buttonChange(str : String) {

        if (str == "Connect") {
            Connection.setBackgroundColor(Color.RED)
            Connection.setText("Disconnection")
            loadMaintenancePage()

        } else if (str == "Disconnect") {

            Connection.setBackgroundColor(Color.GREEN)
            Connection.setText("Connection")
        }
    }

}

我的错误是接口未初始化。 我如何初始化接口?

2 个答案:

答案 0 :(得分:0)

您必须在方法类中创建一个SendDataInterface实例。

答案 1 :(得分:0)

var interfaceData:SendDtaInterface = Object:SendDtaInterface { 重写fun sendData(“ Connect”){

} } interfaceData.sendDat(“ connect”)enter code here