我尝试运行计时器时遇到3个错误

时间:2011-08-11 14:21:50

标签: java android error-handling

Syntax error on Token "Void", @ expected
run cannot be resolved to a type
Sytax error, insert enumBody to complete BlockStatement!

这些是我在下面的脚本中得到的3个错误。可能有什么问题?请注意,所有不需要的东西可能属于我的其他功能和东西。我确实有所有进口产品:)

import android.app.Activity;
import android.content.Intent;

public class MainStuff extends Activity {
    TextView tere;
    TextView dateatm;
    TextView timeatm;
    String nimi;
    String ip;
    protected static final int REFRESH = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu);
        // Refresh after 5 sec... //
        Thread refresherAplle = new Thread();
            public void run(){
                try{
                    int refresherApple = 0;
                    while (refresherApple < 5000){
                        sleep(100);
                        refresherApple = refresherApple + 100;
                    }
                    startActivity(new Intent("viimane.voimalus.REFRESHER"));
                }
                finally{
                    finish();
                }
                }

4 个答案:

答案 0 :(得分:3)

您的线程定义不正确。最后的分号终止了陈述。

改为这样

Thread refreshAplle = new Thread() {
    public void run() {
     ....
    }
};

目前,您在方法中有一个方法。这就是所有令牌例外的原因。

答案 1 :(得分:2)

它应该是new Thread() {,即一个开放的大括号,当用作new Class() {时,是用于创建扩展/实现声明的类的新anonymous inner class的语法(Thread in这种情况)。

目前,当您使用Thread()终止该行时,您只需创建;的实例,因此public void run() { }在代码块中声明,这是非法的。要创建匿名类,请使用以下语法:

Thread refresherAplle = new Thread() { //< notice this
    public void run() {
         ...
    }
}

答案 2 :(得分:0)

你的跑步是在知道的中间,试试这个:

 Thread refreshAplle = new Thread(){
        public void run(){
            try{
                  int refresherApple = 0;
                  while (refresherApple < 5000){
                     sleep(100);
                     refresherApple = refresherApple + 100;
                   }
                 startActivity(new Intent("viimane.voimalus.REFRESHER"));
             } finally{
                finish();
             }
        }};

答案 3 :(得分:0)

用括号

声明你的主题
Thread refresherApple = new Thread(){
            public void run(){
                try{
                    int refresherApple = 0;
                    while (refresherApple < 5000){
                        sleep(100);
                        refresherApple = refresherApple + 100;
                    }
                    startActivity(new Intent("viimane.voimalus.REFRESHER"));
                }
                finally{
                    finish();
                }
                }
            };