переменная становится пустой из successListener - PullRequest
0 голосов
/ 27 сентября 2019

Я получаю значение для переменной selectedLanguageCode внутри successListener, но из слушателя оно становится нулевым.Почему это происходит?

Я поместил свой код в поток, но, похоже, он не работает.

Thread thread = new Thread(new Runnable() {
            public void run() {
                FirebaseLanguageIdentification languageIdentifier =
                        FirebaseNaturalLanguage.getInstance().getLanguageIdentification();
                languageIdentifier.identifyLanguage(text)
                        .addOnSuccessListener(
                                new OnSuccessListener<String>() {
                                    @Override
                                    public void onSuccess(@Nullable String languageCode) {
                                        if (languageCode != "und") {
                                            detectedLanguageCode = languageCode;
                                            //At this point detectedLanguageCode gets value
                                        } else {
                                            Log.i(TAG, "Can't identify language.");
                                        }
                                    }
                                })

                        .addOnFailureListener(
                                new OnFailureListener() {
                                    @Override
                                    public void onFailure(@NonNull Exception e) {
                                        // Model couldn’t be loaded or other internal error.
                                        // ...
                                    }
                                });
            }
        });
        thread.start();

        try {
            thread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }


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