Я пытаюсь работать над простым кодом в течение двух дней. Я пробовал все изменения, но никто не работает. Я пытаюсь рисовать вертикальные прямоугольники разных цветов. В первом я использую только одну переменную Rect и перемещаю координаты. Вот соответствующая часть кода.Android Rect не работает
Rect myRect1=new Rect();
Random colorMe=new Random();
for(int j=0;j<5;j++){
myRect1.set(myCanvas.getWidth()/5*j, 0, myCanvas.getWidth()/5*j, myCanvas.getHeight());
paint.setColor(Color.rgb(colorMe.nextInt(255), colorMe.nextInt(255), colorMe.nextInt(255)));
myCanvas.drawRect(myRect1, paint);
}
Другие изменения, которые я пробовал, состояли из массива. Вот код.
Rect[] myRect=new Rect[5];
Random colorMe=new Random();
for(int j=0;j<5;j++){
myRect[j].set(myCanvas.getWidth()/5*j, 0, myCanvas.getWidth()/5*j, myCanvas.getHeight());
paint.setColor(Color.rgb(colorMe.nextInt(255), colorMe.nextInt(255), colorMe.nextInt(255)));
myCanvas.drawRect(myRect[j], paint);
}
Может кто-нибудь, пожалуйста, помогите мне в чем проблема на самом деле?
Серьезно, я не мог поверить, что это была ошибка, которую я совершил. Теперь я изменил координату максимальной ширины на * (j + 1). В настоящее время работает код без массива, но код с массивом все еще вызывает проблемы. Он бросает исключение NullPointerException в строке myRect [j] .set (....); Я создал объекты myRect [5] и myCanvas. Пожалуйста, помогите мне снова. Невозможно определить массивы в Rect? – user1190882