android在活动/布局之间切换

时间:2012-03-22 18:51:25

标签: java android eclipse android-layout android-activity

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

活性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

loadingActivity

public class loadingActivity extends Activity {

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

    }

1 个答案:

答案 0 :(得分:2)

为此,您应该使用ProgressDialog,这样您就可以轻松显示加载指示器,一旦完成工作,您就可以轻松删除它。下面的代码应该适合您。

显示对话框:

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

    //Do your long running work here

解雇对话框:

    dialog.dismiss();

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

另外,从查看代码开始,如果您在后台线程上没有进行长时间的工作,则可能会阻止活动加载。如果不将工作卸载到后台线程,则无法在onCreate内部进行长时间的运行。要在Android中轻松进行线程处理,您应该使用AsyncTask类。