Как я могу заставить editText получить значение stringarray, если пользователь вводит определенное ключевое слово и отображает его? - PullRequest
0 голосов
/ 01 мая 2020

Добрый день, я делаю приложение для викторины, которое нужно набрать, чтобы ответить, и я новичок в программировании. Я хочу знать, как или если можно правильно ответить на вопрос, если они не получают точного ответа.

, потому что на данные вопросы есть ответ в форме предложения, например:

Q. «Каковы 3 основные части Дерева?»
A. «3 основные части - это ветви, листья, root.»

Если они только отвечают «Ветви, листья, root "Я собираюсь исправить это и отобразить точный ответ на тот же editText или на Textview или на какое-нибудь всплывающее сообщение. Я думаю, мне нужен еще один ArrayList только для ключевого слова? Что за код в таких вещах? У меня более 300 Q / A, кстати.

Это мой editText:

           answer1.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            mp2.start();
            switch (category) {
                case "Basic":
                    if (answer1.getText().toString().equalsIgnoreCase(BasicList.get(level).getbasicans1())) {
                        Toast.makeText(QuestionActivity.this, "Correct!", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(QuestionActivity.this, "Wrong!", Toast.LENGTH_SHORT).show();
                    }
                    break;

И это мой список массивов.

         final ArrayList<BasicItem> BasicList = new ArrayList<>();
    BasicList.add(new BasicItem("What is the Figurative meaning of [1]Water, [2]Field, [3]Fire?", "Word as as ds ds", "Example of example only", "Word that consume"));
    BasicList.add(new BasicItem("What is the meaning of [1]B,[2]D,[3]S?", "Betrayal", "Destruction", "Salvation");

Спасибо за помощь:)

1 Ответ

0 голосов
/ 02 мая 2020

ОК. Вы можете попробовать это

String sentence = "Check this answer and you can find the keyword with this code";

String search  = "keyword";

if ( sentence.toLowerCase().indexOf(search.toLowerCase()) != -1 ) {

   System.out.println("I found the keyword");

} else {

   System.out.println("not found");

}

ИЛИ

if ( d.contains("hello")) {
            System.out.println("I found the keyword");
}

ИЛИ, если вы хотите использовать сопоставление строк,

if (d.matches(".*Hey.*")) {
    c.setText("OUTPUT: SUCCESS!");
} else {
    c.setText("OUTPUT: FAIL!");  
}

. * -> 0 или более любых символов

Эй -> Строка, которую вы хотите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...