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

Может ли кто-нибудь показать мне, что не так, я пытаюсь использовать пост 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
    Как использовать тип перечисления Postgresql через Kotlin Exposed ORM? Ошибка объявления функции при компиляции с Kotlin 12 Как вызвать функцию javascript из Kotlin, которая ожидает объект настроек jQuery ajax? Выполнение команды Kotlin if, даже если false Переплет в карту с типом KClass Android Studio не выполняет рефакторинг «только для чтения» kapt сгенерированный код Чистое использование Coroutines в Котлине с поддержкой тестирования модулей Как использовать @Parcelize в Kotlin 1.1.60? Kotlin – Расширение для финального класса Можно ли применить одну аннотацию к нескольким целевым объектам в Котлин? Нечетный размер с номером MutableList <Int> в Kotlin возвращает IndexOutOfBoundsException с итератором Как связать событие onClick из представления с помощью Android Binding Library и Kotlin? Kotlin: зачем компилятору нужен модификатор `const`? Функция аннотирования интерфейса, которая должна вызывать супер не удалось настроить Kotlin