при отладке я вижу, что тексты правильно сохраняются внутри 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) {
}
});