Как сделать циклический ввод данных?
Возможно заголовок сформулирован неверно. В приложении генерируются случайные числа и операнд т.е математический пример, снизу EditText и кнопка. Проблема: при нажатии на кнопку ответ проверяется все ок, но после одного раза все останавливается, чтобы снова появилась задача надо выйти и зайти. Как сделать так чтобы вопросы генерировались производное количество раз, чтобы мог отвечать на них тоже?
код без подключения библиотек:
public class QuestionsActivity extends AppCompatActivity {
Button btn;
TextView textView;
EditText answer;
int a = (int) ( Math.random() * 11 );
int b = (int) ( Math.random() * 11 );
int c = a+b;
String a1 = String.valueOf(a);
String b1 = String.valueOf(b);
@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_questions);
textView = findViewById(R.id.textView);
textView.setText(a1 + "+" + b1);
addListenerOnButton();
}
public void addListenerOnButton() {
answer = findViewById(R.id.answer);
answer.setClickable(!(answer.getText().toString().trim().equals("")));
btn = findViewById(R.id.submit);
btn.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
double Answer = Double.parseDouble(answer.getText().toString());
textView=findViewById(R.id.textView);
if (c == Answer) {
textView.setText("Верно!");
} else {
textView.setText("Ошибка!");
}
}
}
);
}
}
Ответы (1 шт):
Автор решения: Alex_Skvortsov
→ Ссылка
Можно просто по нажатию на кнопку генерировать новые данные, например, так:
public class QuestionsActivity extends AppCompatActivity {
Button btn;
TextView textView;
EditText answer;
int a;
int b;
int c;
String a1;
String b1;
void generateTask(){
a = (int) ( Math.random() * 11 );
b = (int) ( Math.random() * 11 );
c = a+b;
a1 = String.valueOf(a);
b1 = String.valueOf(b);
textView.setText(a1 + "+" + b1);
}
@SuppressLint("SetTextI18n")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_questions);
textView = findViewById(R.id.textView);
generateTask();
addListenerOnButton();
}
bool flag = false;
public void addListenerOnButton() {
answer = findViewById(R.id.answer);
answer.setClickable(!(answer.getText().toString().trim().equals("")));
btn = findViewById(R.id.submit);
btn.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
double Answer = Double.parseDouble(answer.getText().toString());
flag = !flag;
if(flag){
btn.setText("Продолжить");
if (c == Answer) {
textView.setText("Верно!");
} else {
textView.setText("Ошибка!");
}
} else {
btn.setText("Проверить"); //вероятно, у Вас другой текст
generateTask();
}
}
}
);
}
}