Android Studio - код, продвигающийся перед вызовом функции - PullRequest
0 голосов
/ 08 апреля 2020

Я вызываю функцию в Android Студия «При создании».

Примерно так:

Log.i(TAG, "Config: On Create 00 " + getInput());


    public List<Object> getInput(){
        final List<Object> result = new ArrayList<>();
        final DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
        Query query = ref.child("Device").orderByChild("home").equalTo(homeID);
        query.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                for (DataSnapshot dataSnapshots :dataSnapshot.getChildren()){
                    result.add(dataSnapshots.getKey());
                    Log.i(TAG, "Config: get Input 2 " + result);
                }
                Log.i(TAG, "Config: On Create 02 " + result);
            }


            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }


        });
        Log.i(TAG, "Config: On Create 01 " + result);
        return result;
    }

Последовательность созданных журналов сбивает меня с толку, и я считаю, что это не так, как в потоке. Последовательность: Log 1) Config On Create 01 Log 2) Config On Create 00 Log 3) Config get Input 2 Log 4) Config On Create 02

Я считаю, что Log 2 должен прийти раньше, чем Log 1 Я запутался а также я не получаю результат, как ожидалось. Пожалуйста, помогите.

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