如何显示TextView中生成的随机数?

时间:2017-01-11 18:28:48

标签: java android random

我正在生成一个按钮的随机闪烁,我想知道每次选择的确切数字,所以我最终可以将它们添加到我正在进行的项目的ArrayList

TextView randomTextView;
Random r = new Random();

private void sequenceFunction() {
    //Change Alpha from Fully Visible to Invisible
    final Animation animation = new AlphaAnimation(1, 0);
    //Duration - A Second
    animation.setDuration(1000);
    //Animation Rate
    animation.setInterpolator(new LinearInterpolator());
    animation.setStartOffset(250);
    animation.setDuration(250);
    //Repeat Animation
    animation.setRepeatCount(r.nextInt(10));

    // Reverse animation at the end so the button will fade back in
    animation.setRepeatMode(Animation.REVERSE);

    //Button 1 Flashes
    final Button btn = (Button) findViewById(R.id.button);
    btn.startAnimation(animation);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            view.clearAnimation();
        }
    });
}

我想显示通过randomTextView TextView生成随机数的结果。这部分是至关重要的,所以我知道随机函数正在按预期工作。我已经尝试了

randomTextView.setText(r.nextInt(10));

然而它并不喜欢它。关于如何获得随机数的任何想法都会受到高度赞赏吗?

3 个答案:

答案 0 :(得分:1)

希望这有帮助 -

private void sequenceFunction() {
    //Change Alpha from Fully Visible to Invisible
    final Animation animation = new AlphaAnimation(1, 0);
    //Duration - A Second
    animation.setDuration(1000);
    //Animation Rate
    animation.setInterpolator(new LinearInterpolator());
    animation.setStartOffset(250);
    //Repeat Animation
    int randomValue = r.nextInt();
    // code to add value to array
    animation.setRepeatCount(randomValue);
    randomTextView.setText(String.valueOf(randomValue));

    // Reverse animation at the end so the button will fade back in
    animation.setRepeatMode(Animation.REVERSE);

    //Button 1 Flashes
    final Button btn = (Button) findViewById(R.id.button);
    btn.startAnimation(animation);
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            view.clearAnimation();
        }
    });


}

答案 1 :(得分:0)

如果您查看了ex的文档,则可以看到TextView实际上需要资源ID:https://developer.android.com/reference/android/widget/TextView.html#setText(int)

所以你必须把你的int变成CharSequence,你可以简单地做

setText(int)

将整数转换为字符串。

答案 2 :(得分:0)

TextView.setText可以与resource ID(整数)或CharSequence一起使用,例如String

有很多方法可以做到这一点,包括

int random = r.nextInt(10);
randomTextView.setText(String.valueOf(random);
randomTextView.setText(Integer.toString(random);
randomTextView.setText(String.format("%d", random);

使用"" + r.nextInt(10)。我知道,它很短,很方便,但它只是效率低下和风格不好。