Здравствуйте, у меня есть только несколько дней с Java и Android здесь. Я немного озадачен тем, как именно работает «реализует работоспособность», например:
public class DrawableSurfaceView extends SurfaceView implements Runnable {
[...]
public void resume(){
isRunning = true;
mThread = new Thread(this);
mThread.start(); //start the animation
parseParameters(); //<== Here is my problem
}
public void run() {
while (isRunning == true){
if (!mHolder.getSurface().isValid()) {
continue;
}
Canvas canvas = mHolder.lockCanvas();
canvas.drawARGB(255, 0, 0, 0);
canvas.drawPath(PenPath, PenPaint);
canvas.drawPath(CursorPath, CursorPaint);
mHolder.unlockCanvasAndPost(canvas);
}
}
public void parseParameters() {
[...]
[ The rest of my code here modifying PenPath and CursorPath, etc ]
}
Мне стыдно спрашивать, но я подумал, что после mThread.start (); новый поток будет запущен, запустив цикл в методе run. вместо этого я получаю метод run, выполняемый только после завершения метода parseParameters ().
Чего я хотел добиться, так это иметь холст в потоке цикла рисования и внешне изменять параметры путей рисования для генерации моей анимации.
Я уверен, что это очень элементарно, но я не мог понять это в течение нескольких часов. Документы не помогают.
Любой указатель очень помог бы. Ура ребята!