Java 活动中的线程启动失败

Java 活动中的线程启动失败,java,android,multithreading,syntax,token,Java,Android,Multithreading,Syntax,Token,错误1:标记“开始”上的语法错误,标识符应在后面 这个令牌 你的th.start()语句应该出现在活动类中的某个方法中。你不能让它在活动中的某个地方随处可见 在您的情况下,它可以放在OnCreate()方法中,但是线程创建必须在启动那里的线程之前完成。问题是,您不应该将th.start()放在类方法之外。你不能像那样把它随意放在课堂上。试试这个 Thread th = new Thread(){ public void run() { try{

错误1:标记“开始”上的语法错误,标识符应在后面 这个令牌

你的
th.start()语句应该出现在
活动
类中的某个方法中。你不能让它在活动中的某个地方随处可见


在您的情况下,它可以放在
OnCreate()
方法中,但是线程创建必须在
启动那里的线程之前完成。

问题是,您不应该将
th.start()
放在类方法之外。你不能像那样把它随意放在课堂上。

试试这个

Thread th = new Thread(){
    public void run()
    {
        try{
            sleep(5000);
        }
        catch(InterruptedException e){
            e.printStackTrace();
            
        }
        finally{    
            Intent openMainActivity = new Intent("com.askselva.simple.MENU");
            startActivity(openMainActivity);
        }
        
    }   
};
th.start();               //Error -1
这可能有助于你

在onCreate方法中

package com.askselva.simple;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
public class Splash extends Activity {
    MediaPlayer ourSong;
    @Override
    protected void onCreate(Bundle selvaLovesKumar) {
        super.onCreate(selvaLovesKumar);
        setContentView(R.layout.splash);
        ourSong=MediaPlayer.create(Splash.this, R.raw.airtel);
        ourSong.start();

        Thread th = new Thread(){
        public void run()
        {
            try{
                sleep(5000);
            }
            catch(InterruptedException e){
                e.printStackTrace();
            }
            finally{    
                Intent openMainActivity = new Intent("com.askselva.simple.MENU");
                startActivity(openMainActivity);
            }
        }   
    };
    th.start();  
}

@Override
protected void onPause() {
    super.onPause();
    finish();
    ourSong.release();
    }
}
在创建之后

Thread currentThread = new Thread(this);
currentThread.start();
你也可以试试这个:)


你不能说“只是挂在那里”。这不是PHP。。。现在还不太清楚你想用这个实现什么,请添加一些细节来澄清你想做什么。th.start();输入onCreate()方法这不应该只是一个注释吗?这就是问题的答案。它需要以某种方式进行!为什么它应该是一个评论?答案应该是告诉它必须使用哪种方法。这是问题而不是解决办法。
public void run() {
    try {
        Thread.sleep(4000);
        threadHandler.sendEmptyMessage(0);
    } catch (InterruptedException e) {
        //don't forget to deal with the Exception !!!!!
    }
}

private Handler threadHandler = new Handler() {
     public void handleMessage(android.os.Message msg) {      
        Intent in = new Intent(getApplicationContext(),****.class);
        startActivity(in);
    }
};  
package com.askselva.simple;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
public class Splash extends Activity{
MediaPlayer ourSong;
  @Override
  protected void onCreate(Bundle selvaLovesKumar){
    // TODO Auto-generated method stub
    super.onCreate(selvaLovesKumar);
    setContentView(R.layout.splash);
    ourSong=MediaPlayer.create(Splash.this, R.raw.airtel);
    ourSong.start();

    new Thread(new Runnable()){
      public void run(){
        try{
            sleep(5000);
        }
        catch(InterruptedException e){
            e.printStackTrace();
        }
        finally{    
            Intent openMainActivity = new Intent("com.askselva.simple.MENU");
            startActivity(openMainActivity);
        }
      } 
    }.start();        
  }
  @Override
  protected void onPause(){
    // TODO Auto-generated method stub
    super.onPause();
    finish();
    ourSong.release();
  }
 }