我有谷歌语音识别集成到我的项目。有了谷歌语音识别,你必须写一段代码,在这段代码中,你应该为每个命令放上代码,无论用户说什么。
因此,我可以将用户说的任何内容打印到textview,所以我考虑创建一个if/else语句。
if textview == "rotate" {
rotate the image code }但是后来我遇到了一些警告,说textview不能做==,所以我把它改成了.equals。在更改后,它仍然会遇到相同的警告:.equals不能在文本视图上运行。
以下是模拟器上的日志
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.speech.action.RECOGNIZE_SPEECH (has extras) }在实际的设备上,它将运行并且不会崩溃。但是所有的else/if语句都不会运行。
然后,我将textview更改为edittext,并遇到了相同的错误。
对于谷歌语音识别来说,这是一个更简单的方法吗?
或者这是正确的方式?我怎么才能让它运行呢?
发布于 2015-12-01 02:54:57
您需要先获取TextView的文本值,然后才能在IF子句中使用它。在比较字符串时,始终使用.equals而不是==。==比较两个对象是相同的,当我们比较字符串时,这不是我们想要的。然而,回到你的错误。您尝试比较的是实际的文本视图,而不是文本视图的内容。不能使用.equals比较textview对象。
if(textview.getText().equals("rotate"){
//Do your logic here.
}https://stackoverflow.com/questions/34005643
复制相似问题