В Splashscreen Activity внутри я реализовал интерфейс. Как отправить данные интерфейса на несколько Activity в Kotlin?

1

Интерфейсный класс:

interface MyCustomInterface {
     fun get_msg( str: String)

}

SplashScreen Активность:

class SplashActivity : AppCompatActivity(),MyCustomInterface {
    override fun get_msg(str: String) {

    }

val socket=MysocketIO(this)
    }

Класс MySocketIO, куда я добавил данные в интерфейс с сервера:

class MysocketIO(var mainActivity: SplashActivity) : Thread() {
    fun enable_data_event():Boolean {
        try {
            data_event_registered.set(true)
            socket!!.on(this.data_event_id, object : Emitter.Listener {
                override fun call(vararg args: Any) {
                    receive_data_queue.add(args[0] as String)
                    data_recieved.set(true)
                    mainActivity.get_msg(receive_data_queue.peek())
                }
            })
            return true
        }
        catch (ex : java.lang.Exception){
            ex.printStackTrace()
        }
    }
}

Как получить данные из SplashScreen в другой вид деятельности?

Теги:
kotlin
interface

1 ответ

0

Попробуйте создать один глобальный объект для хранения данных интерфейса после передачи намерения в действие.. как..

class SplashActivity : AppCompatActivity(),MyCustomInterface{
var data=""
override fun get_msg(str: String) {
    data=str
}

после того, как начать какое-либо действие, чтобы передать данные в намерение, как..

intent.putString(key,data)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню