Java 在两个活动中使用@background
是否可以使用andriodannotations创建一个后台线程,该线程在一个活动中开始,在另一个活动中结束 这就是我认为migh的工作原理Java 在两个活动中使用@background,java,android,android-activity,android-annotations,Java,Android,Android Activity,Android Annotations,是否可以使用andriodannotations创建一个后台线程,该线程在一个活动中开始,在另一个活动中结束 这就是我认为migh的工作原理 ActivityA public static LoadingDialog LoadingScreen = new LoadingDialog(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceStat
ActivityA
public static LoadingDialog LoadingScreen = new LoadingDialog();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//.....
LoadingScreen.CreateDialog(context);
}
Background Class
public class LoadingDialog
{
private Dialog loader_dialog;
@Background
public void CreateDialog(Context mContext)
{
loader_dialog = new Dialog(mContext,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
loader_dialog.setContentView(R.layout.loading_screen);
loader_dialog.show();
}
public void Remove()
{
loader_dialog.dismiss();
}
}
对话框显示正确,但当我完成()activityA以启动activityB时,线程似乎被终止,我得到一个黑屏。如果您能在这方面提供帮助,我们将不胜感激。是否可以使用带有应用程序上下文的静态类?不确定您是否完全误用了
@Background
注释。它用于创建后台任务、工作线程,例如某些处理或网络等。您正在执行与GUI相关的操作,这些操作!如果启动新的活动
,则上一个活动的所有内容都将消失。如果要在第二个窗口中显示该对话框,必须再次打开它。但是我建议重新设计你的用户界面,因为这不是一个好的做法…谢谢你的评论,这可能是我对SE最有用的评论。我只需要试着想一个适合3D游戏的设计,它可以创建一个surfaceview。创建曲面视图会阻止我在第二个活动中创建新对话框,因为在创建曲面视图时,我会在几秒钟内出现黑屏。我想知道是否可以在oncreate方法之外创建曲面视图,以便立即显示对话框为什么必须在第二个活动中显示对话框?用户在第一个(我猜)中已经单击了它,这意味着应该取消该对话框。因为第二个活动是我创建glsurfaceview的地方,所以无论我如何解决该问题,我都是在我的渲染器构造函数中解析obj文件,而我本应该在onSurfaceCreate中进行解析。这意味着我的构造函数需要一段时间来运行所有内容,并且出于某种原因停止了对话框的显示