无法解析SparseArray的方法<textblock>

时间:2017-04-14 13:23:39

标签: android textblock android-sparsearray

这是一段脚本,必须通过TextRecognizer识别来自摄像机的文本,然后搜索文本中的某个单词。如果该单词存在,系统必须在String found之后保存单词。

问题是我有两个错误:

Cannot resolve method 'contains(java.lang.String)'
Cannot resolve method 'getValue(int)'

我该如何解决这个错误?我没有找到SparseArray<TextBlock>的任何类似方法。

public void receiveDetections(Detector.Detections<TextBlock> detections) {

  String search = "palabra";
  final SparseArray<TextBlock> items = detections.getDetectedItems(); //is the detection of textRecognizer of the camera

  for (int i=0; i<items.size(); ++i) 
  {
    if(items.get(i).contains(search)) 
    {
       String found = items.getValue(i+1);
       Log.i("current lines ", found);
    }
  }

}

1 个答案:

答案 0 :(得分:0)

您可以找到SparseArray documentation here

正如您所看到的,SparseArray上没有getValue()方法,因此在您的getValue(int)变量上调用SparseArray上的items无效。

同样,TextBlock没有contains(String)方法。致电items.get(i)将返回TextBlock,因此尝试在contains(String)上致电TextBlock同样无效。

根据我在代码中看到的内容,我猜你正在寻找更像这样的内容,调用String contains()方法:

for (int i=0; i<items.size(); ++i) {]
    TextBlock text = items.get(i)

    // Get the TextBlock's value as a String
    String value = text.getValue()

    // Check if this text block contains the search string
    if(value.contains(search)) {
        String found = items.getValue(i+1);
        Log.i("Found search string " + search + " in block " + value);
    }
}