代码之家  ›  专栏  ›  技术社区  ›  M.Barandov

如何在view类中创建1到100范围内的数字数组

  •  0
  • M.Barandov  · 技术社区  · 7 年前

    我想在一个形状中显示一个数字数组。

    1) 在视图类中,我用画布绘制了一个形状。

    2) 我创建了一个随机数。

    3) 我搜索了很多&找出应该使用Drawtext来显示文本或数字。

    4) 我读过Random、Drawtext等的文档。

    我不知道如何将该数字放入数组&如何在视图类中用drawtext显示数组。

    我对安卓非常陌生;我的英语不太好。

    非常感谢。

    以下是我用于创建单个随机数的代码部分(这在类、构造函数和onDraw方法之外):

    Random rand = new Random();
            int number = rand.nextInt(100) + 1;
            String mystring = String.valueOf(number);
    

    &

    @Override
    public void onDraw(Canvas canvas) {
        super.onDraw(canvas);
    canvas.drawText(mystring,130,480,black_paintbrushstroke);
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Yahor Paulavets    7 年前

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

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