2017-08-15 84 views
0

大家好,請幫幫我!我想在一個形狀中顯示一個數組的數組。如何在視圖範圍1至100中創建數字數組

我做什麼

1)我畫的形狀與View類的畫布。

2)我創建一個隨機數。

3)我搜索了很多&找出應該使用Drawtext來顯示文本或數字。

4)我讀過隨機的drawText的文檔等

5)我試過的循環,但它並沒有外出打工的帆布類&內的,也將重複單號無限次。

我的問題

我不知道如何把這個數字數組中的&如何顯示在視圖類DrawText的陣列。

此刻,我只能顯示一個隨機數,但想要顯示一個隨機數組。

我是非常新的Android &我的英語不太好。 如果有人能幫助我解決這個問題,我將非常感激。

謝謝。

這裏是我的代碼,我用於創建單個隨機數的部分(這是類之外,構造&的onDraw法):

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

&中的onDraw方法爲表示本編號i下面使用代碼:

@Override 
public void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
canvas.drawText(mystring,130,480,black_paintbrushstroke); 
} 

回答

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),你需要添加一些垂直偏移繪製波紋管上一個新的價值。

如果你想畫你的數字爲逗號separted字符串,則需要使用StringBuilder的你數組轉換成字符串:

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

謝謝,非常感謝你。它確實有幫助。^__ ^ –

相關問題