因此,有一个5秒的启动画面,但底部还有一个skip
按钮。这是飞溅如何运行。如何在activity处于onPause时停止线程?
public class Splash extends Activity implements View.OnClickListener {
MediaPlayer splashsong;
Button skipsplash;
@Override
protected void onCreate(Bundle chiefsplash) {
// TODO Auto-generated method stub
super.onCreate(chiefsplash);
setContentView(R.layout.splash);
splashsong = MediaPlayer.create(Splash.this, R.raw.jingle);
splashsong.start();
skipsplash = (Button) findViewById(R.id.skipsplash);
skipsplash.setOnClickListener(this);
Thread splashtimer = new Thread() {
public void run() {
try {
sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
switchactivity();
}
}
};
splashtimer.start();
}
@Override
public void onClick(View skipbutton) {
switchactivity();
}
private void switchactivity() {
Intent aftersplash = new Intent("com.example.testapp.MENU");
startActivity(aftersplash);
}
@Override
protected void onPause() {
super.onPause();
splashsong.release();
finish();
}
}
现在,我希望这是打skip
按钮中断5秒等待一个选择,我想一个线程在运行时不。因此,点击skip
按钮后发生的情况是:从创建Activity
开始经过5秒钟,它将打开Menu
Activity
,无论我是否已经在那里或其他地方。无论如何要阻止这个?
会发生什么? – 2013-04-27 02:09:56
我不知道如何正确实现,我是Java新手。当我尝试将其置于交换方法中时,此时出现错误。加入的是什么? – Alex 2013-04-27 02:56:07
@ Axtn95连接将使一个线程等待,直到其他完成。这里是一个例子:http://pastebin.com/pfawvt0W – Eugene 2013-04-27 05:38:17