【问题标题】:Choose random button to setText in Android选择随机按钮在 Android 中设置文本
【发布时间】:2015-03-13 16:30:33
【问题描述】:

我有一个带有问题和两个按钮的测验,其中一个是正确的,一个是错误的。如何将文本随机放入按钮中,以便正确答案并不总是与同一个按钮相关联。

        @Override
        public void onClick(View v) {
            if(Integer.parseInt(answer1.getText().toString()) == c){

                 Toast bf = Toast.makeText(getApplicationContext(), "Correct",Toast.LENGTH_SHORT);
                 bf.show();

             }
            else{
                Intent i = new Intent(getApplicationContext(), TopActivityMath.class);
                startActivity(i);
            }

        }
    });

    answer2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if(Integer.parseInt(answer2.getText().toString()) == c){

                 Toast bf = Toast.makeText(getApplicationContext(), "Correct",Toast.LENGTH_SHORT);
                 bf.show();

             }
            else{
                Intent i = new Intent(getApplicationContext(), TopActivityMath.class);
                startActivity(i);
            }

        }
    });

【问题讨论】:

    标签: android button random textview


    【解决方案1】:

    这个问题不是很清楚,但是要随机获得一些东西,你可以使用这个

    Random rand = new Random();
    int n = rand.nextInt(2); // Gives n such that 0 <= n < 2
    

    意思是n会给你0或1

    if(n == 0){ 
        answer1.setText(correctString); 
        answer2.setText(inCorrectString); 
    }else{ 
        answer1.setText(inCorrectString); 
        answer2.setText(correctString); 
    }
    

    【讨论】:

    • 如果显示 2+1,则有两个按钮 [3] 和 [5],其中正确的是 3。下一次有 3+3,其中按钮是 [9] 和 [6] 和6 是正确的。在任一按钮中随机选择正确答案的位置..
    • 好的,所以您可以使用我在答案中输入的内容并添加一些测试,如下所示:if(n == 0){ answer1.setText(correctString); answer2.setText(inCorrectString); }else{ answer1.setText(inCorrectString); answer2.setText(correctString); }
    • @BlerinaBerisha 亚瑟说的是,您可以使用上面的代码随机生成 01。如果是 0,请在 button_1 中输入正确的选项。如果是 1,请在 button_2 中输入正确的选项。您可以使用button.setText("") 分配文本。
    • 完美运行!谢谢
    【解决方案2】:

    试试这个:

    Random rand = new Random();
    int n = rand.nextInt(2);
    
    if(n == 0){ 
    answer1.setText(correctString); 
    answer2.setText(inCorrectString); 
    }else{ 
    answer1.setText(inCorrectString); 
    answer2.setText(correctString); 
    }
    
    {
    
    @Override
            public void onClick(View v) {
                        answerEvent(answer1.getText().toString());
    }
        });
    answer2.setOnClickListener(new View.OnClickListener() {
    @Override
            public void onClick(View v) {
              answerEvent(answer2.getText().toString());
    }
        });
    private void answerEvent(String text){
    if(text.equals(correctString)))){
    
    Toast bf = Toast.makeText(getApplicationContext(), "Correct",Toast.LENGTH_SHORT);
                     bf.show();
    }
                else{
                    Intent i = new Intent(getApplicationContext(), TopActivityMath.class);
                    startActivity(i);
                }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多