我正在使用语音识别来构建应用程序。我将最后一个句子存储在textView的字符串中,并尝试将其与新单词进行比较,当用户说“删除”最后一个单词时应删除文本视图中的字符串..
我不知道这段代码有什么问题..
if(requestCode == request_code && resultCode == RESULT_OK)
{
ArrayList<String> matches = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
if(matches != null && matches.size() > 0)
{
text = matches.get(0);
if(text == "hello")
{
text = (String) et.getText();
rep = text.replaceAll("\\d+\\Z", "");
Log.d(tag, "THis is not working");
et.setText(rep);
rep = null;
}
else
{
option = matches.get(0);
et.setText(option);
}
}
先谢谢你:D
答案 0 :(得分:2)
使用if(text.equals("hello"))
代替if(text == "hello")
或者甚至更好:if(text.equalsIgnoreCase("hello"))
删除文字区域中的最后一个字词:
String text = textArea.getText();
// capture everything except the last word into group 1
Pattern regex = Pattern.compile("(.*?)\\w+\\s*\\Z", Pattern.DOTALL);
Matcher matcher = regex.matcher(text);
if (matcher.find()) {
text = matcher.group(1);
textArea.setText(text);
}