• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Android, Java error "Syntax error on token "start", Identifier expected after this token"

 
Martin Thomas
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I am new to android programming. I have this error "Syntax error on token "start", Identifier expected after this token". The code is shown below


Anyone, Please help .
 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Most likely the main.xml file is malformed.
 
Martin Thomas
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ulf Dittmer wrote:Most likely the main.xml file is malformed.


Thanks for the reply, but i don't understand.
Here is my code





 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Try adding an XML declaration.
 
Steve Luke
Bartender
Posts: 4181
21
IntelliJ IDE Java Python
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Your problem is that you call timer.start() in the class' body, and not inside a method or other code block. You can't do that. You have to figure out where/when you want the timer thread to start. The least possible change would be:


Those brackets create an initializer block around the method call, so the call can be performed. This will cause the timer to be started when the class instance is created. You might consider moving that to one of the lifecycle methods (like onCreate()).

Your code also has a spurious semicolon after the end of the class-closing curly bracket.
 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
D'oh! I was thinking this was a runtime problem.
 
Martin Thomas
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Steve Luke wrote:Your problem is that you call timer.start() in the class' body, and not inside a method or other code block. You can't do that. You have to figure out where/when you want the timer thread to start. The least possible change would be:


Those brackets create an initializer block around the method call, so the call can be performed. This will cause the timer to be started when the class instance is created. You might consider moving that to one of the lifecycle methods (like onCreate()).

Your code also has a spurious semicolon after the end of the class-closing curly bracket.





Thanks steve. I moved the timer to onCreate() method and it worked.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic