gpt4 book ai didi

java - 如何使 setContentView() 与线程一起正常工作?

转载 作者:搜寻专家 更新时间:2023-11-01 08:49:37 24 4
gpt4 key购买 nike

我有2个布局,2个 Activity ,每一个对应一个布局,一个是SplashActivity,一个是MainActivity。我希望应用程序打开 splashActivity(splash XML 显示 Logo ),等待 5 秒并打开主要 Activity ,但由于线程,setContentView 无法正常工作。

附言此外,任何相关文档链接都将非常有用,在此先感谢

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash_screen);

    Thread timer = new Thread() {
public void run() {
try {
sleep(5000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}

try {
Class mainMenu = Class.forName("com.carmine.project.MenuActivity");
Intent openMainMenu = new Intent(SplashActivity.this, mainMenu);
startActivity(openMainMenu);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
};

timer.run();
}

最佳答案

你的问题是你调用的是 timer.run(); 而不是 timer.start();

timer.run(); 在执行该行的线程的相同上下文中调用 run 方法(使 UI 线程在您的情况下等待 5 秒,并阻止所有其他操作). timer.start() 产生一个新线程

关于java - 如何使 setContentView() 与线程一起正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24823697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com