почему не установить это значение? - PullRequest
0 голосов
/ 15 февраля 2020

Я хочу установить мое значение gorterilecekkart в коде, но оно не установлено, оно всегда видит первое значение, как я решил эту проблему? пожалуйста, помогите мне? я не знаю, англичане sh хватит сори. но мой код я пишу комментарий

 class Sahnem : AppCompatActivity() {

     var gorterilecekkart=5     


    override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_sahnem)

            val parsUser = ParseUser.getCurrentUser().email
            val queryTercih = ParseQuery.getQuery<ParseObject>("Tercih")
            queryTercih.whereEqualTo("user", parsUser.toString())


            queryTercih.findInBackground { objects, e ->

                if (objects.isEmpty()){


                }else{


                    var bas:String=objects[0].get("basla").toString()
                    var bit:String=objects[0].get("bitir").toString()

                    txvBasla.setText(bas)
                    txvBitir.setText(bit)

                    bitir=bit.toInt()
                    baslat=bas.toInt()

                    gorterilecekkart=bitir-baslat // i see log 3 
                }

                println("116 "+bitir)

                gorterilecekkart=bitir-baslat  

                println("119 "+gorterilecekkart)  //  i see  log 3

            }


            println("124 "+gorterilecekkart) // why i dont see log 3, i see 5

1 Ответ

1 голос
/ 15 февраля 2020

Похоже, ParseQuery#findInBackground(...) запускает лямбду обратного вызова в фоновом потоке . Документация здесь .

Это означает, что:

println("124 "+gorterilecekkart) // why i dont see log 3, i see 5

На самом деле выполняется сначала , до того, как лямбда будет выполнена.

Чтобы это исправить, вам нужно вместо этого использовать ParseQuery#find(...) или как-то найти способ дождаться завершения фонового потока, выполняющего вашу лямбду, прежде чем проверять значение gorterilecekkart.

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