[英]setText not changing or updating when button click
I am trying to get random character when the user clicks in button in textView, it works but when I click again it's not updating the random character in my textView.当用户单击 textView 中的按钮时,我试图获取随机字符,它可以工作,但是当我再次单击时,它不会更新我的 textView 中的随机字符。 Below is my code.
下面是我的代码。
char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
StringBuilder sb = new StringBuilder(26);
Random random = new Random();
char c = chars[random.nextInt(chars.length)];
sb.append(c);
final String output = sb.toString();
show_random.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
letters.setText(output); //only shows one time and when I click again it's not udapting
}
});
How do I get random character in every button click?如何在每次单击按钮时获得随机字符?
Just place generation of a random character inside the onClick()
function.只需在
onClick()
函数中生成一个随机字符。
char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
StringBuilder sb = new StringBuilder(26);
Random random = new Random();
show_random.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
char c = chars[random.nextInt(chars.length)];
sb.append(c);
final String output = sb.toString();
letters.setText(output);
}
});
If you want just a single character then do next:如果您只想要一个字符,请执行以下操作:
show_random.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
char c = chars[random.nextInt(chars.length)];
letters.setText(Character.toString(c));
}
});
You don't need StringBuilder
in this code if you just want to randomly set one character.如果您只想随机设置一个字符,则在此代码中不需要
StringBuilder
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.