В Котлине не работает почтовая служба, что не так

Может ли кто-нибудь показать мне, что не так, я пытаюсь использовать пост Handler Runnable но он не выполняется

 var mHandler: Handler? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mHandler = Handler() var runnable = Runnable { Log.d("TEST", "++++ runable") Log.d("TEST", "++++ come end") } Log.d("TEST", "++++ runnable" + runnable) Log.d("TEST", "++++ handle" + mHandler) mHandler!!.post { runnable } } 

Это выводится

09-21 00: 56: 04.067 4419-4419 /? D / TEST: ++++ runnablecom.vpioneer.activity.MainActivity$onCreate$runnable$1@529b8fb4 09-21 00: 56: 04.067 4419-4419 /? D / TEST: ++++ handleHandler (android.os.Handler) {529b8cb4}

    Во-первых, не используйте !! оператора, это очень плохая практика (из документа ). С ? вы достигнете такого же поведения, но проверяете, стал ли экземпляр нулевым до его выполнения.

    Говоря это, используя:

     mHandler?.post { runnable } 

    Фактически вы создаете новую лямбду, содержащую runnable line. см. ниже, в более читаемом виде:

     mHandler?.post { runnable } 

    Это эквивалент в Java:

     mHandler.post(new Runnable(){ public void run(){ runnable; } }); 

    Чтобы решить эту проблему:

    Вариант 1: избавление от декларации runnable

     mHandler?.post { /*the content of your runnable*/ } 

    Вариант 2: использование исполняемого экземпляра

     mHandler?.post(runnable) // normal parentheses 

    Вариант 3: сумасшедший путь

     mHandler?.post { runnable.run() } 

    Вы не начинаете runnbale . Попробуй это:

     mHandler!!.post { runnable.run() } 

    Это также справедливо:

     mHandler!!.post { Log.d("TEST", "++++ runable") Log.d("TEST", "++++ come end") } 
    Intereting Posts
    Как я могу скрыть пароль с помощью Anko? Вызов функции в фрагменте представления пейджера из активности Как перегружать конструкторы в котлин отличается в лямбда-обратном типе Как я могу скомпилировать код Kotlin для JavaScript для использования в моем веб-приложении LibGDX? Kotlin – абстрактная функция с общим типом возврата Kotlin: java.lang.UnsupportedOperationException в элементе добавления MutableList только один сопутствующий объект разрешен для каждого класса в Котлине Включение страницы входа для весны Сервер авторизации / ресурсов почему обработчик исключений coroutine удваивает исходное исключение? Доступ к Spek для внутренних видимых классов Kotlin Как настроить проект eclipse для использования Kotlin с JPA / Hibernate? Как документировать параметр первичного конструктора с помощью Kotlin Dokka Gradle Build не работает с новым Gradle 3.0.0 Как сравнить класс <*> с примитивным типом Java в коробке без предупреждений компилятора kotlin TornadoFX: разрешить копирование элемента из списка в буфер обмена