Используйте интерфейс для передачи данных в Kotlin - PullRequest
0 голосов
/ 04 октября 2018

Мне нужно передать данные в класс из деятельности.Я использую интерфейс, но у меня проблема с инициализацией.

Мой класс:

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 голосов
/ 26 июня 2019

var interfaceData: SendDtaInterface = Object: SendDtaInterface {переопределить забавный sendData ("Connect") {

}} interfaceData.sendDat ("connect") enter code here

0 голосов
/ 05 октября 2018

Вы должны создать экземпляр SendDataInterface в вашем классе Methods.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...