如何使按钮从编辑文本中提取文本并将其与随机数进行比较



我正试图让我的按钮将编辑文本中的数字与我生成的随机数字进行比较,如果它们相同,则进行吐司。代码运行,但无论我将绑定设置为编辑文本中的数字,都不会等于随机数。这是我的代码

Button submit;
EditText etcode;
Random random = new Random();
String generatedPassword = String.format(String.valueOf(random.nextInt(1)));
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);

mFlower = findViewById(R.id.ivImage);
mDescription = findViewById(R.id.tvDescription);
submit = (Button) findViewById(R.id.btn_submit);
etcode = findViewById(R.id.et_code);
Bundle mBundle = getIntent().getExtras();
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (etcode.getText().toString().equals(generatedPassword)){
Toast.makeText(getApplicationContext(), "CONGRATS", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(getApplicationContext(), "TRY AGAIN", Toast.LENGTH_SHORT).show();
}
}
});

更改此行

String generatedPassword = String.format(String.valueOf(random.nextInt(1)));

因为generatePassword始终为0。这就是为什么它对零有效。

random.nextInt(1);

以上代码将始终生成小于1的数字。你应该把它改成其他号码。假设您编写random.nextInt(5);然后上面的行将生成0到5之间的数字,这意味着它可以是0、1、2、3、4。

检查此链接https://www.geeksforgeeks.org/java-util-random-nextint-java/

最新更新