Java 将对话框从一个活动传递到另一个活动

Java 将对话框从一个活动传递到另一个活动,java,android,android-activity,android-dialog,Java,Android,Android Activity,Android Dialog,我试图创建一个简单的加载屏幕,我不需要任何进度条或任何东西只是一个图像 我需要的是:- -开始活动A -单击活动B的按钮 -单击按钮还会启动一个对话框,在加载活动B时仅显示我的图像 -加载活动B后,我希望保持对话框显示,直到渲染器加载完所有纹理 是否可以将活动对话框从一个活动传递到另一个活动 //Activity A StartButton.setOnClickListener(new OnClickListener() { @Override

我试图创建一个简单的加载屏幕,我不需要任何进度条或任何东西只是一个图像

我需要的是:-

-开始活动A

-单击活动B的按钮

-单击按钮还会启动一个对话框,在加载活动B时仅显示我的图像

-加载活动B后,我希望保持对话框显示,直到渲染器加载完所有纹理

是否可以将活动对话框从一个活动传递到另一个活动

    //Activity A
    StartButton.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View arg0) 
        {
            Intent intent = new Intent(context, ActivityB.class);               
            Dialog loader_dialog = new Dialog(context,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
            loader_dialog.setContentView(R.layout.loading_screen);
            loader_dialog.show();
            //this obviously doesnt work but is there something similar i can do?
            //intent.putExtra("LoadingScreen", loader_dialog); 
            startActivity(intent); 
            finish(); 
        } 
    }); 

如果不可能,是否有其他方法可以获得所需的效果?

您可以创建对话框,并让它显示在下一个活动-B活动的onCreate()或onStart()方法中:

public class ActivityB extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Dialog loader_dialog = new Dialog(context,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
        loader_dialog.setContentView(R.layout.loading_screen);
        loader_dialog.show();  

        ...
    }
}


我认为这可以执行您想要的任务。

如果您真的希望在转换到第二个活动期间显示对话框,您可以使用一个活动而不是两个,并更改该活动的布局以使用第二个活动的布局,而不是调用另一个活动。但是,这可能会很复杂,因为您将两个活动的功能实现为一个活动


编辑:


您可以使用片段而不是活动。

您的下一个活动是否有setContentView(R.layout.somelayout)?是的,但我只希望加载纹理后活动B内容视图可见问题是,单击活动B按钮有5秒钟的时间,此时会出现白色屏幕,然后会出现图像,如果我在两个活动中都有一个新的对话框,那么a中的一个会在瞬间闪烁,然后出现白色屏幕,那么第二个对话框工作正常