【问题标题】:My string variable is not bring assigned the TextRecognition output我的字符串变量未分配 TextRecognition 输出
【发布时间】:2021-02-20 22:34:51
【问题描述】:
var text:String = ""
var result = TextRecognition.getClient().process(image)
    .addOnSuccessListener { visionText ->
    text = visionText.text
    Log.d("OUTPUT",visionText.text)
    }
findViewById<TextView>(R.id.txt_Original).setText("ORIGNAL: "+text);

我正在为文本识别提供一个图像以从中读取文本。然后我想将该文本分配给我的变量“文本”。但是,图像中的文本没有分配给我的变量。我添加了一个 Log.d 以查看是否正在读取任何内容,并且正在读取照片中的文本,因为它会从图像中返回正确的文本。

  • 我将“ORIGNAL”添加到 setText 只是为了确保它不只是跳过该行,而是将文本设置为“ORIGNAL:”但没有文本。但我知道它已经到了那个地步
  • 如果我直接在 addOnSucessListener 中分配 TextView,那么它可以工作。但是,我需要对文本做一些事情,所以我想将其保留为变量

【问题讨论】:

    标签: android android-studio kotlin text-recognition google-mlkit


    【解决方案1】:

    在函数调用后添加Log后,发现后面的日志是先运行的,然后是函数内部的日志运行。我假设该函数是异步的。因此,我将我想要运行的所有代码(基本上是所有代码)都移到了 addOnSuccessListener 中。它很乱,但现在可以运行了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-08
      • 2019-05-18
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 2015-05-04
      • 1970-01-01
      • 2021-03-07
      相关资源
      最近更新 更多