这是一段脚本,必须通过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);
}
}
}
答案 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);
}
}