我想等待启动画面完成他的任务,然后继续进行活动。 我认为我的错误是因为有太多时间等待启动画面,我的启动画面是从服务器获取一些字符串而且它有所需要。 创建并需要等待启动画面的第一个类是: 更新:
Thread splashTread = new Thread() {
@Override
public void run() {
try {
splash splash=(tools.splash) new splash(first.this).execute();
int waited = 0;
while(splash.running && (waited< getResources().getInteger(R.integer.splashTimeOut)))
{
sleep(100);
if(splash.running) {
waited += 100;
}
// nextActivity=splash.newActivity;
}
} catch(InterruptedException e) {
// do nothing
} finally {
finish();
}
}
};
splashTread.start();
虽然启动画面没问题
public class splash extends AsyncTask<String, Void, String>
错误,因为它创建了一个新的活动,然后做了线程......
答案 0 :(得分:2)
public void onCreate(Bundle savedInstanceState) {
protected boolean _active = true;
protected int _splashTime = 1000;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while(_active && (waited < _splashTime)) {
sleep(100);
if(_active) {
waited += 100;
}
}
} catch(InterruptedException e) {
// do nothing
} finally {
finish();
}
}
};
splashTread.start();
答案 1 :(得分:0)
我希望我的代码对您有所帮助
public void onStart()
{
super.onStart();
Thread background = new Thread(new Runnable()
{
public void run()
{
try
{
Thread.sleep(3000);
Intent langSelect = new Intent(EduApp.this, LanguageActivity.class);
startActivity(langSelect);
genHelper.goForwardScreen();
}
catch (Throwable t)
{
System.err.println("Thread Exception IN Splash Screen->" + t.toString());
}
}
});
background.start();
}
在这里开始下一个活动..