Удаление последнего слова из TextView с помощью распознавания речи - PullRequest
3 голосов
/ 06 марта 2012

Я создаю приложение, используя распознавание речи. Я сохраняю последнее предложение в строке из 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

1 Ответ

2 голосов
/ 06 марта 2012

Используйте 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...