gpt4 book ai didi

java - android 在 Activity/布局之间切换

转载 作者:行者123 更新时间:2023-12-02 07:54:25 26 4
gpt4 key购买 nike

我想在“activity1”执行一些代码(工作)时显示loadingActivity,之后再次显示activity1。但是,如果我不想再次启动activity1,则仅在doSomeStuff结束时切换其布局。谢谢。

Activity 1

 public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Intent myIntent = new Intent(getApplicationContext(), loadingActivity.class);
startActivityForResult(myIntent, 0);

//Do some stuff while loadingActivity is showed

doSomeStuff()

//here I want to show again this activity and hide loading one

正在加载 Activity

public class loadingActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
setContentView(R.layout.loading);

}

最佳答案

为此,您应该使用 ProgressDialog ,这将允许您轻松显示加载指示器,工作完成后您可以轻松将其删除。下面的代码应该适合您。

显示对话框:

    ProgressDialog dialog = new ProgressDialog(YourActivityClass.this);
dialog.setMessage("Loading Activity...");
dialog.show();

//Do your long running work here

关闭对话框:

    dialog.dismiss();

如果您想以不同的方法显示和关闭对话框,可以将对话框设置为类级别变量。

此外,通过查看您的代码,如果您的长时间运行的工作没有在后台线程上进行,您可能会阻止 Activity 加载。如果不将工作卸载到后台线程,则无法在 onCreate 内部执行长时间运行的工作。为了在 Android 中轻松实现线程化,您应该使用 AsyncTask类。

关于java - android 在 Activity/布局之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9828625/

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