我想在形状中显示一组数字。
我做了什么
1)我在View类中使用画布绘制一个形状。
2)我创建一个随机数。
3)我搜索了很多&找出应该使用Drawtext来显示文字或数字。
4)我已阅读Random,Drawtext等文档。
5)我已尝试过循环,但它没有在画布类和&amp ;;之外工作。在里面,也会重复那个单数无限次。
我的问题
我不知道如何将这个数字放入数组和数组中。如何在视图类中使用drawtext显示数组。
目前,我只能显示一个随机数,但想显示一组随机数。
我在Android& amp;我的英语不怎么好。 如果有人可以帮我解决这个问题,我将非常感激。
谢谢。
这是我用于创建单个随机数的代码部分(这是在类之外,构造函数和onDraw方法):
Random rand = new Random();
int number = rand.nextInt(100) + 1;
String mystring = String.valueOf(number);
&安培;在onDraw方法中显示我在代码下面使用的数字:
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawText(mystring,130,480,black_paintbrushstroke);
}
答案 0 :(得分:0)
请尝试使用ArrayList
保存随机数据,例如:
ArrayList<Integer> arrayList = new ArrayList<>(100);
Random r = new Random(System.currentTimeMillis());
for(int i = 0; i < 100; i++) {
arrayList.add(r.nextInt());
}
然后:
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
int yOffset = 10;
int yStartPosition = 480;
for (int i = 0; i < arrayList.size(); i++) {
Integer integer = arrayList.get(i);
canvas.drawText(String.valueOf(integer), 130, yStartPosition+(i*yOffset), black_paintbrushstroke);
}
}
看起来您正在将所有项目绘制到相同的位置(x,y),您需要添加一些垂直偏移以在之前的位置绘制新值。
如果要将所有数字绘制为逗号分隔字符串,则需要使用StringBuilder将数组转换为String:
StringBuilder sb = new StringBuilder();
for(int i = 0; i < arrayList.size(); i++) {
sb.append(arrayList.get(i)).append(",");
}
String myRandomNumbersArray = sb.toString();
sb.setLength(0);