сохранить массив строк, созданных внутри одного слушателя и после вызова его внутри другого слушателя - PullRequest
0 голосов
/ 28 октября 2019

при отладке я вижу, что тексты правильно сохраняются внутри dataText, но когда я вызываю его на другом слушателе, это выдает мне ошибку «Попытка вызвать виртуальный метод» boolean java.lang.String.equals (java.lang.Object)'на нулевой ссылке на объект' в

  if (controlli.checknull(variabili.LoadTextblock(w)))

в чем проблема? как это решить? variabili.java:

public class Variabili {

        public static String[] dataText = new String[500];

        public  void SaveTextblock(String text, int i) {
            dataText[i] = text;
        }

        public String LoadTextblock(int i){
            return dataText[i];
        }

    }

Я создаю переменные внутри цикла forbase:

final Task<FirebaseVisionText> result =
        textRecognizer.processImage(image)
                .addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
                    @Override
                    public void onSuccess(FirebaseVisionText firebaseVisionText) {
                        Integer i = 0;
                        for (FirebaseVisionText.TextBlock block: firebaseVisionText.getTextBlocks()) {
                            String blockText = block.getText();
                            variabili.SaveTextblock(blockText,i);

                            i++;
                        }
                    }
                })
                .addOnFailureListener(
                        new OnFailureListener() {
                            @Override
                            public void onFailure(@NonNull Exception e) {
                            }
                        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...