【问题标题】:Android: new random sum after each click?Android:每次点击后都有新的随机数?
【发布时间】:2014-04-05 11:40:47
【问题描述】:

在一个 android 应用程序中,我打算让用户回答一个随机数,然后屏幕上会出现一个新数。重复 10 次,然后给出最终分数。但是我不确定如何更新总和,以便在每次之后在屏幕上显示一个新的随机数。

以下是我当前的代码:

public class Test extends Activity {
    //declare vars
    TextView text;
    EditText answer;
    Button submit;
    int random1;
    int random2;
    String question;
    int correctAnswer;@
    Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);
        // initialising variables
        initialiseVars();
        //set up random
        setUpRandom();
        //Set text view equal to question
        text.setText(question);
        //updateQuestion?
    }
    public void initialiseVars() {
        text = (TextView) findViewById(R.id.tvTopRandomTest);
        answer = (EditText) findViewById(R.id.etEnterAnswerRandomTest);
        submit = (Button) findViewById(R.id.btnSubmitRandomTest);
    }
    public void setUpRandom() {
        //setting up randoms
        Random random = new Random();
        // Generating random number between 1 and 12
        random1 = random.nextInt(12) + 1;
        // Generating another random number between 1 and 12
        random2 = random.nextInt(12) + 1;
        question = random1 + " x " + random2 + " = ";
        correctAnswer = random1 * random2;
    }
    public void updateQuestion() {
        //CODE TO UPDATE QUESTION
    }
}

【问题讨论】:

  • 问题是什么?
  • 您想在用户每次点击“提交”时更改数字?
  • 每次用户输入他们的总和答案时,我希望 textview 刷新另一个随机总和让他们回答?
  • 你是要取用户问题的总和并用它来生成一个新的总和还是什么?
  • 不,我将保存他们的答案并在下一个活动中显示它是否正确。我已经有了执行此操作的代码。我只是不确定在提交每个答案后将 textview 更新为新总和的代码。谢谢!

标签: android random textview


【解决方案1】:

添加按钮 ClickListener 以便当用户按下提交按钮时它会更新问题并清除所有以前的值

submit = (Button) findViewById(R.id.btnSubmitRandomTest);
submit.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        updateQuestion();
    }
}

在您的活动中保持计数并在 updateQuestion 中增加计数

public void updateQuestion() {
    if (Int.parseString(answer.getText().toString()) != correctAnswer) {
        // Show toast or something
        return;
    }
    tries++;
    if (tries == 10) return; // or do something else;
    answer.setText("");
    setUpRandom();
    text.setText(question); // add this line in your setUpRandom();
}

要生成随机整数,请查看this。希望这会对您有所帮助。

【讨论】:

  • 就是这样!^-^
  • 谢谢,如果我想显示用户回答的问题以及他们在问题活动中给出的答案,我是否必须同时传递一组问题和一组他们的答案通过意图进入下一个活动?
  • 正是你需要维护问题和答案的列表(或者创建一个包含问题和答案的类,但它需要从 Parcelable 类中实现)并通过 Intent 传递。
  • 如果这对您的问题有所帮助,请将其标记为正确答案。谢谢
猜你喜欢
  • 2018-09-08
  • 1970-01-01
  • 2021-11-14
  • 2014-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多