Сначала посмотрите на мой код.
Вот мой код: -
public GameView(Context context){
super(context);
Display display = ((WindowManager)context.getSystemService(
Context.WINDOW_SERVICE)).getDefaultDisplay();
}
@Override
public void draw(Canvas canvas) {
// TODO Auto-generated method stub
int x = 0;
int y = 0;
bmp = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
int imageWidth = bmp.getWidth();
int imageHeight = bmp.getHeight();
int width = display.getWidth();
System.out.println("Width = " +width);
int height = display.getHeight();
System.out.println("Height = " +height);
Random randomX,randomY;
randomX = new Random();
randomY = new Random();
x = randomX.nextInt(width - imageWidth);
System.out.println("X = " +x);
y = randomY.nextInt(height - imageHeight);
System.out.println("Y = " +y);
Rect dst = new Rect(x , y , x + imageWidth , y + imageHeight);
canvas.drawBitmap(bmp, null , dst , null);
System.out.println("dst = " +dst);
super.draw(canvas);
}
Мой код работает отлично, но моя проблема в том, что draw(Canvas canvas)
работает дважды.
Вот журналы, которые я получаю в Logcat каждый раз с разными значениями: -
Width=480
Height=800
X=247
Y=456
dst = Rect(247 , 456 - 319 , 528)
Width=480
Height=800
X=119
Y=560
dst = Rect(119 , 560 - 191 , 632)
Каждый раз, когда я запускаю свое приложение, draw (Canvas canvas) запускается дважды. Я не хочу, чтобы оно запускалось дважды каждый раз. Помогите мне избавиться от этой проблемы. Любая помощь будет высоко оценена.