# run / while /while



## RobJava (13. Mrz 2012)

Hey,
hab im Forum und bei Google nichts gefunden und wollte zuerst nicht fragen, da mir die Frage ein bisschen dumm vor kommt.
Aber ich wollte fragen ob/wie man in einer classe welche Runnable implementiert hat
und die in public void run() eine while-Schleife hat, noch weitere Schleifen in der Whileschleife machen kann?
Weil es bei mir nicht funktioniert..  (oder halt for Schleife)

so ist das gemeint:

public void run{

while(....){

while(...){         <--------
}

}



Danke


----------



## eRaaaa (13. Mrz 2012)

Und was funktioniert daran nicht?


----------



## RobJava (13. Mrz 2012)

Er übergeht komplett die Schleife, wenn ich eine do while mache geht er die Aussage ein mal durch.


----------



## eRaaaa (13. Mrz 2012)

Dann würde ich mal deine Bedingung überprüfen, die scheint nämlich nicht das zu machen was du willst 
btw: wieso lässt du ausgerechnet den wichtigsten Teil dann weg?


----------



## Tobse (13. Mrz 2012)

Dann ist die Bedingung der Schleife [c]false[/c]. Grundlagen lernen.
EDIT: Code kann, völlig schnurzpiepegal wo er steht, so viele Verschachtelungen und Schleifen haben wie er mag; hat keinen einfluss.


----------



## RobJava (13. Mrz 2012)

Ich hab sogar zum Test true reingeschrieben; und die Bedingung ist nicht falsch aufgestellt...


----------



## eRaaaa (13. Mrz 2012)

....ihr wollt doch Hilfe/zu einer Lösung kommen wenn ihr hier Threads aufmacht oder? Wieso probiert ihr dann nicht mal die Sachlage so genau wie möglich zu beschreiben? Du lässt hier Teile im Code weg, beschreibst dein Problem nicht richtig und weißt alles besser als die anderen - wie soll man da helfen? 
Zeig doch mal ein konkretes Beispiel ? Dass bei while(true) {...} der Rumpf nicht ausgeführt wird halte ich zu 100% ausgeschloßen


----------



## RobJava (13. Mrz 2012)

```
public void run() {
			// TODO Auto-generated method stub
			while(isRunning){
			if(!holder.getSurface().isValid()){
				continue;}
			
			if(!loade){
				kick=new Kick(GameSurface.this,BMkickrechts,bewegung);
				loade=true;
			}
			
				
			Canvas canvas = holder.lockCanvas();
				onDraw(canvas);
			
				holder.unlockCanvasAndPost(canvas);
				
			}

		}
```


```
protected void onDraw(Canvas canvas) {

			if(...........){		
				while(true){             <-----als Beispiel
				kick.onDraw(canvas);		
				}
			}else{......;}
			
		
		}
				
	}
```


sry Leute  Danke nochmal 


Mein Ziel ist es eine frame by frame Animation zu erzeugen, aber nur bei Knopfdruck (der Kick  ) allerdings muss man ihn ohne die Schleife lange gedrückt halten um den ganzen durchlauf zu sehen.
Aber es soll den ganzen Durchlauf auf einmal anzeigen(also den ganzen Ablauf) bei Knopfdruck.


----------

