首页 > 解决方案 > 按钮单击时 setText 不更改或更新

问题描述

当用户单击 textView 中的按钮时,我试图获取随机字符,它可以工作,但是当我再次单击时,它不会更新我的 textView 中的随机字符。下面是我的代码。

 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
        }
    });

如何在每次单击按钮时获得随机字符?

标签: javaandroid

解决方案


只需在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); 
    }
});

如果您只想要一个字符,请执行以下操作:

    show_random.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        char c = chars[random.nextInt(chars.length)];
        letters.setText(Character.toString(c)); 
    }
});

StringBuilder如果您只想随机设置一个字符,则不需要此代码。


推荐阅读